Splunk 中的多值字段评估函数

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

我有多个以 COPIED & SELECTED 结尾的 event_name 作为我正在进行的分析的一部分,我需要根据某些标准重命名以 COPIED 结尾的事件

例如

Mail_Copied = where Email Copied
Text_Copied = where Text Copied
Text_Email_Copied = where both Text_Copied and Email_Copied are used 
UK_Number_Selected = Where the phone number is UK Phone
Non_UK_Number_Selected = Where the phone number is not UK phone number

我已经完成了这样的评估

| eval Channel=case(event_name==Mail_Copied, EmailCopied, event_name==Text_Copied, *TextCopied*,
 (event_name==Mail_Copied OR  event_name==Text_Copied), TextEmailCopied,
 (event_name==Text_Copied AND event_name==UK_Number_Selected), UK_Number,
 (event_name==Text_Copied AND event_name==Non_UK_Number_Selected), NON_UK_Number)
| stats count as "Number" by month, Channel, event_name

我遇到的问题是大多数事件来自 COPIED 事件,但是因为我必须将 SELECTED 事件与 COPIED 事件结合使用,所以它不会返回 UK_Number 和 NON_UK_Number 的任何值

频道 事件名称 数量
十一月 非_UK_Number 非_UK_Number_Selected 463
十一月 文字已复制 文本_已复制 34
十一月 邮件已复制 电子邮件_已复制 4
十一月 文字邮件已复制 文本_电子邮件_已复制 10

我不确定我是否已经解释清楚了。

splunk splunk-query
1个回答
0
投票

case
函数对顺序敏感。即使另一场比赛的计算结果也为
true
,也会使用第一个比赛。尝试重新安排评估。

| eval Channel=case(
 (event_name==Mail_Copied AND event_name==Text_Copied), TextEmailCopied,
 (event_name==Text_Copied AND event_name==UK_Number_Selected), UK_Number,
 (event_name==Text_Copied AND event_name==Non_UK_Number_Selected), NON_UK_Number,
  event_name==Mail_Copied, EmailCopied,
  event_name==Text_Copied, *TextCopied*)
© www.soinside.com 2019 - 2024. All rights reserved.