funnel_sequence_completion 插件

在比较不同的时间段时,计算已完成序列步骤的漏斗图。 该插件通过 evaluate 运算符调用。

语法

T| evaluatefunnel_sequence_completion(IdColumn,TimelineColumn,Start,End,BinSize,StateColumn,Sequence,MaxSequenceStepWindows)

详细了解语法约定

参数

客户 类型​​ 必需 说明
T string 输入表格表达式。
IdColum string 表示 ID 的列引用。 此列必须存在于 T 中。
TimelineColumn string 表示时间线的列引用。 此列必须存在于 T 中。
Start datetime、timespan 或 long 分析开始时段。
End datetime、timespan 或 long 分析结束时段。
BinSize datetime、timespan 或 long 分析窗口时段。 将单独分析每个窗口。
StateColumn string 表示州的列引用。 此列必须存在于 T 中。
序列 dynamic 一个数组,其中包含在 StateColumn 中查找的序列值。
MaxSequenceStepPeriods dynamic 一个标量常数动态数组,包含序列中第一个和最后一个顺序步骤之间所允许的时间跨度最大值。 该数组中每个时段都会生成漏斗分析结果。

返回

返回一个表,用于为所分析的序列构造漏斗图:

  • TimelineColumn:分析的时间窗口 (bin),分析时间范围(Start 到 End)内每个 bin 分别生成一个漏斗分析。
  • StateColumn:序列的状态。
  • Period:可用于完成漏斗序列中步骤(从该序列中第一步度量)的最大时间段。 MaxSequenceStepPeriods 中的每个值都会生成与某个单独时间段相关的漏斗分析。
  • dcount:从第一个序列状态转换到 StateColumn 值的时间窗口中 IdColumn 的非重复计数。

示例

暴风雨活动探究

以下查询检查序列(“总体”时间分别为 1 小时、4 小时和 1 天的 Hail ->Tornado ->Thunderstorm Wind)的完成漏斗。

let _start = datetime(2007-01-01);
let _end =  datetime(2008-01-01);
let _windowSize = 365d;
let _sequence = dynamic(['Hail', 'Tornado', 'Thunderstorm Wind']);
let _periods = dynamic([1h, 4h, 1d]);
StormEvents
| evaluate funnel_sequence_completion(EpisodeId, StartTime, _start, _end, _windowSize, EventType, _sequence, _periods) 

输出

StartTime EventType Period dcount
2007-01-01 00:00:00.0000000 冰雹 01:00:00 2877
2007-01-01 00:00:00.0000000 龙卷风 01:00:00 208
2007-01-01 00:00:00.0000000 雷雨大风 01:00:00 87
2007-01-01 00:00:00.0000000 冰雹 04:00:00 2877
2007-01-01 00:00:00.0000000 龙卷风 04:00:00 231
2007-01-01 00:00:00.0000000 雷雨大风 04:00:00 141
2007-01-01 00:00:00.0000000 冰雹 1.00:00:00 2877
2007-01-01 00:00:00.0000000 龙卷风 1.00:00:00 244
2007-01-01 00:00:00.0000000 雷雨大风 1.00:00:00 155

理解结果:
结果为三个漏斗(所针对的时间段:1 小时、4 小时和 1 天)。 对于每个漏斗步骤,会显示多个非重复计数。 可以看出,给予完成整个 Hail ->Tornado ->Thunderstorm Wind 序列的时间越长,获得的 dcount 值就越高。 换句话说,到达漏斗步骤的序列发生的次数也就越多。