如何在 splunk 表中隐藏列但使其可用于 eval 函数

问题描述 投票:0回答:1

在我的 Splunk 搜索结果数据中,有些对象具有 ID、Type、Name 字段,有些对象具有 ID、Type、UnitId 字段。对于类型等于“A1”的对象,名称字段存在,但对于类型等于“A2”的对象,名称字段不存在,但存在 UnitId 字段。我想在 Splunk 表中显示 ID、类型和名称列,但不显示 UnitId 列。问题是,对于类型等于“A2”的对象,名称列的值将为空字符串。因此,对于每个表行,如果类型等于“A2”,我想使用 eval 函数将 Name 列中的空字符串替换为 UnitId 列的值。

对于 Type 等于“A2”且 Name 为空字符串的行,我尝试使用以下脚本将空字符串替换为 UnitId 列值,并仅显示 ID、Type 和 Name 列,但显示 eval脚本中的函数不起作用。

index="demo_data" sourcetype="data.zip" 
| fields ID Type Name UnitId 
| table ID Type Name|eval Name = if(isnull('Name') AND Type="A2", 'UnitId', 'Name')

我注意到,如果我在表中包含 UnitId 列,那么我的 eval 函数就可以工作,但如果没有它,它就无法工作。所以我的问题是如何在表中包含 UnitId 列,以确保它仍然可供 eval 函数使用,但将其隐藏,以便用户看不到它。

splunk
1个回答
0
投票

您可以使用合并来优化您的查询,如果您想在搜索查询中使用某个字段,但您不想在仪表板面板结果中显示该字段,则必须使用。

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.