我有多个以 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 |
我不确定我是否已经解释清楚了。
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*)