如何在Splunk表格中隐藏列但保留其供eval函数使用
解决Splunk中用UnitId填充Name列并隐藏UnitId的问题
你的问题核心是命令执行顺序错误:table命令会直接丢弃未指定的字段,你先执行table ID Type Name后,UnitId已经被从结果集中删除,后续的eval自然无法调用这个字段,导致填充逻辑不生效。
只需调整命令顺序,先完成Name字段的填充操作,再用table指定要展示的列即可:
index="demo_data" sourcetype="data.zip" | fields ID Type Name UnitId | eval Name = if(isnull('Name') AND Type="A2", 'UnitId', 'Name') | table ID Type Name
也可以省略fields命令,直接执行eval后指定展示列,Splunk会自动保留逻辑所需的字段:
index="demo_data" sourcetype="data.zip" | eval Name = if(isnull('Name') AND Type="A2", 'UnitId', 'Name') | table ID Type Name
逻辑很直白:确保eval执行时UnitId还在结果集中,等完成Name的填充后,再用table过滤掉不需要展示的UnitId字段即可。
内容的提问来源于stack exchange,提问作者Gapi
相关产品推荐
相关产品推荐

