适用于:✅Azure 数据资源管理器
计算已获取州序列的用户的非重复计数,以及序列产生前/后的上一个/下一个州的分布。 该插件通过 evaluate 运算符调用。
语法
T| evaluatefunnel_sequence(IdColumn,TimelineColumn,开始,结束,MaxSequenceStepWindow、 Step、 StateColumn、 Sequence)
详细了解语法约定。
参数
| 客户 | 类型 | 必需 | 说明 |
|---|---|---|---|
| T | string |
✔️ | 输入表格表达式。 |
| IdColum | string |
✔️ | 表示 ID 的列引用。 此列必须存在于 T 中。 |
| TimelineColumn | string |
✔️ | 表示时间线的列引用。 此列必须存在于 T 中。 |
| Start | datetime、timespan 或 long | ✔️ | 分析开始时段。 |
| End | datetime、timespan 或 long | ✔️ | 分析结束时段。 |
| MaxSequenceStepWindow | datetime、timespan 或 long | ✔️ | 序列中两个顺序步骤之间允许的最大时间跨度的标量常数值。 |
| 步骤 | datetime、timespan 或 long | ✔️ | 分析步长时间段或箱。 |
| StateColumn | string |
✔️ | 表示州的列引用。 此列必须存在于 T 中。 |
| 序列 | dynamic |
✔️ | 一个数组,其中包含在 StateColumn 中查找的序列值。 |
返回
返回三个输出表,用于构造已分析序列的桑基图:
表 #1 - prev-sequence-next
dcount- TimelineColumn:分析后的时间范围
- 前一个:前一个州(如果有任何用户只存在所搜索序列的事件,而没有该序列之前的任何事件,则此项可能为空)。
- 下一个:下一个州(如果有任何用户只存在所搜索序列的事件,而没有该序列之后的任何事件,则此项可能为空)。
-
dcount:时间范围内进行了IdColumn--prev> --Sequence> 转换的next的非重复计数。 - 示例:与行的序列对应的 ID 的数组(来自
IdColumn)(最多返回 128 个 ID)。
表 #2 - prev-sequence
dcount- TimelineColumn:分析后的时间范围
- 前一个:前一个州(如果有任何用户只存在所搜索序列的事件,而没有该序列之前的任何事件,则此项可能为空)。
-
dcount:时间范围内进行了IdColumn--prev> --Sequence> 转换的next的非重复计数。 - 示例:与行的序列对应的 ID 的数组(来自
IdColumn)(最多返回 128 个 ID)。
表 #3 - sequence-next
dcount- TimelineColumn:分析后的时间范围
- 下一个:下一个州(如果有任何用户只存在所搜索序列的事件,而没有该序列之后的任何事件,则此项可能为空)。
-
dcount:时间范围内进行了IdColumn--prev> --Sequence> 转换的next的非重复计数。 - 示例:与行的序列对应的 ID 的数组(来自
IdColumn)(最多返回 128 个 ID)。
示例
本文中的示例使用 帮助群集中的公开可用表,例如
StormEvents数据库中的 表。
以下示例演示如何使用 funnel_sequence 插件分析 storm 事件。
该查询查看表 StormEvents(2007 年天气统计信息),并显示 2007 年发生龙卷风事件之前/之后发生的事件。
// Looking on StormEvents statistics:
// Q1: What happens before Tornado event?
// Q2: What happens after Tornado event?
StormEvents
| evaluate funnel_sequence(EpisodeId, StartTime, datetime(2007-01-01), datetime(2008-01-01), 1d,365d, EventType, dynamic(['Tornado']))
结果包括三个表:
- 表 #1:序列之前和之后发生的情况的所有可能的变体。 例如,第二行表示存在 87 个不同的事件,这些事件具有以下序列:
Hail->Tornado->Hail
StartTime |
prev |
next |
dcount |
|---|---|---|---|
| 2007-01-01 00:00:00.0000000 | 293 | ||
| 2007-01-01 00:00:00.0000000 | 冰雹 | 冰雹 | 87 |
| 2007-01-01 00:00:00.0000000 | 雷雨大风 | 雷雨大风 | 77 |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 雷雨大风 | 28 |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 28 | |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 27 | |
| 2007-01-01 00:00:00.0000000 | 雷雨大风 | 25 | |
| 2007-01-01 00:00:00.0000000 | 雷雨大风 | 冰雹 | 24 |
| 2007-01-01 00:00:00.0000000 | 雷雨大风 | 24 | |
| 2007-01-01 00:00:00.0000000 | 山洪 | 山洪 | 12 |
| 2007-01-01 00:00:00.0000000 | 雷雨大风 | 山洪 | 8 |
| 2007-01-01 00:00:00.0000000 | 山洪 | 8 | |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 雷雨大风 | 6 |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 6 | |
| 2007-01-01 00:00:00.0000000 | 山洪 | 6 | |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 漏斗云 | 6 |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 山洪 | 4 |
| 2007-01-01 00:00:00.0000000 | 山洪 | 雷雨大风 | 4 |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 漏斗云 | 4 |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 冰雹 | 4 |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 4 | |
| 2007-01-01 00:00:00.0000000 | 雷雨大风 | 漏斗云 | 3 |
| 2007-01-01 00:00:00.0000000 | 暴雨 | 雷雨大风 | 2 |
| 2007-01-01 00:00:00.0000000 | 山洪 | 漏斗云 | 2 |
| 2007-01-01 00:00:00.0000000 | 山洪 | 冰雹 | 2 |
| 2007-01-01 00:00:00.0000000 | 强风 | 雷雨大风 | 1 |
| 2007-01-01 00:00:00.0000000 | 暴雨 | 山洪 | 1 |
| 2007-01-01 00:00:00.0000000 | 暴雨 | 冰雹 | 1 |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 洪水 | 1 |
| 2007-01-01 00:00:00.0000000 | 闪电 | 冰雹 | 1 |
| 2007-01-01 00:00:00.0000000 | 暴雨 | 闪电 | 1 |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 暴雨 | 1 |
| 2007-01-01 00:00:00.0000000 | 山洪 | 洪水 | 1 |
| 2007-01-01 00:00:00.0000000 | 洪水 | 山洪 | 1 |
| 2007-01-01 00:00:00.0000000 | 暴雨 | 1 | |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 闪电 | 1 |
| 2007-01-01 00:00:00.0000000 | 闪电 | 雷雨大风 | 1 |
| 2007-01-01 00:00:00.0000000 | 洪水 | 雷雨大风 | 1 |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 闪电 | 1 |
| 2007-01-01 00:00:00.0000000 | 闪电 | 1 | |
| 2007-01-01 00:00:00.0000000 | 热带风暴 | 飓风(台风) | 1 |
| 2007-01-01 00:00:00.0000000 | 沿海洪水 | 1 | |
| 2007-01-01 00:00:00.0000000 | 裂流 | 1 | |
| 2007-01-01 00:00:00.0000000 | 大雪 | 1 | |
| 2007-01-01 00:00:00.0000000 | 强风 | 1 |
- 表 #2:显示按上一个事件分组的所有不同事件。 例如,第二行表明在
Hail之前总共发生了 150 个Tornado事件。
StartTime |
prev |
dcount |
|---|---|---|
| 2007-01-01 00:00:00.0000000 | 331 | |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 150 |
| 2007-01-01 00:00:00.0000000 | 雷雨大风 | 135 |
| 2007-01-01 00:00:00.0000000 | 山洪 | 28 |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 22 |
| 2007-01-01 00:00:00.0000000 | 暴雨 | 5 |
| 2007-01-01 00:00:00.0000000 | 洪水 | 2 |
| 2007-01-01 00:00:00.0000000 | 闪电 | 2 |
| 2007-01-01 00:00:00.0000000 | 强风 | 2 |
| 2007-01-01 00:00:00.0000000 | 大雪 | 1 |
| 2007-01-01 00:00:00.0000000 | 裂流 | 1 |
| 2007-01-01 00:00:00.0000000 | 沿海洪水 | 1 |
| 2007-01-01 00:00:00.0000000 | 热带风暴 | 1 |
- 表 #3:显示按下一个事件分组的所有不同事件。 例如,第二行表明在
Hail之后总共发生了 143 个Tornado事件。
StartTime |
next |
dcount |
|---|---|---|
| 2007-01-01 00:00:00.0000000 | 332 | |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 145 |
| 2007-01-01 00:00:00.0000000 | 雷雨大风 | 143 |
| 2007-01-01 00:00:00.0000000 | 山洪 | 32 |
| 2007-01-01 00:00:00.0000000 | 漏斗云 | 21 |
| 2007-01-01 00:00:00.0000000 | 闪电 | 4 |
| 2007-01-01 00:00:00.0000000 | 暴雨 | 2 |
| 2007-01-01 00:00:00.0000000 | 洪水 | 2 |
| 2007-01-01 00:00:00.0000000 | 飓风(台风) | 1 |
现在,让我们尝试查明下面的序列如何继续进行:
Hail- - ->Tornado>Thunderstorm Wind
StormEvents
| evaluate funnel_sequence(
EpisodeId,
StartTime,
datetime(2007-01-01),
datetime(2008-01-01),
1d,
365d,
EventType,
dynamic(['Hail', 'Tornado', 'Thunderstorm Wind'])
)
跳过 Table #1 和 Table #2,查看 Table #3,我们可以断定在以序列 Hail ->Tornado ->Thunderstorm Wind 结束的 92 个事件中,有 41 个事件继续发生了 Hail,有 14 个事件回头发生了 Tornado。
StartTime |
next |
dcount |
|---|---|---|
| 2007-01-01 00:00:00.0000000 | 92 | |
| 2007-01-01 00:00:00.0000000 | 冰雹 | 41 |
| 2007-01-01 00:00:00.0000000 | 龙卷风 | 14 |
| 2007-01-01 00:00:00.0000000 | 山洪 | 11 |
| 2007-01-01 00:00:00.0000000 | 闪电 | 2 |
| 2007-01-01 00:00:00.0000000 | 暴雨 | 1 |
| 2007-01-01 00:00:00.0000000 | 洪水 | 1 |