You need to enable JavaScript to run this app.
导航

窗口漏斗函数

最近更新时间2024.01.22 17:18:38

首次发布时间2024.01.22 17:18:38

本文介绍日志服务支持的窗口漏斗函数语法及常见场景的使用示例。

函数列表

说明

在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time' 代表字符串,time"time" 代表字段名或列名。

函数名称

语法

说明

WINDOW_FUNNEL 函数

WINDOW_FUNNEL(sliding_window,
timestamp, event_id, array[event_list01, event_list02...])

在滑动的时间窗口中搜索事件链并计算事件链中发生的最大连续的事件数。
数据中已定义事件列(event_id)时,您可选择该语法。

WINDOW_FUNNEL(sliding_window,
timestamp, array[event_id=event_list01, event_id=event_list02...])

在滑动的时间窗口中搜索事件链并计算事件链中发生的最大连续的事件数。
如果您想要自定义事件的非枚举值,可选择该语法,更具有灵活性。

WINDOW_FUNNEL 函数

窗口漏斗函数用于在滑动的时间窗口中搜索事件链并计算事件链中发生的最大连续的事件数。根据您定义的事件链,从第一个事件开始匹配,依次做有序最长的匹配,返回最大连续事件数。

函数语法

  • 语法格式

    • 如果数据中已定义事件列(event_id),可选择如下语法。

      WINDOW_FUNNEL(sliding_window, timestamp, event_id, array[event_list01, event_list02...])
      
    • 如果您想要自定义事件的非枚举值,可选择如下语法,更具有灵活性。

      WINDOW_FUNNEL(sliding_window, timestamp, ARRAY[event_id=event_list01, event_id=event_list02...])
      
  • 参数说明

    参数

    说明

    sliding_window

    滑动的时间窗口,单位为秒。参数值为 Bigint 类型。

    timestamp

    时间戳,单位为秒。参数值为bigint类型。推荐使用日志服务内置的时间字段**time**。

    event_id

    日志字段,该字段值表示事件,例如:A、B、C。参数值为varchar类型。

    event_list

    自定义的事件链,最多支持32个事件。参数值为array类型。例如:

    • ARRAY['A', 'B', 'C']
    • ARRAY[event_id='A', event_id='B', event_id='C']
  • 返回值说明
    返回值为 Bigint 类型。

函数示例

  • 示例1

    • 场景
      根据user_key进行分组,查询每个user前进的最多连续stage数。

    • 日志样例

    • 检索和分析语句

      * | SELECT user_key, WINDOW_FUNNEL(86400,__time__/1000,ARRAY [stage_key='stage1', stage_key='stage2',stage_key='stage3']) AS levels GROUP BY user_key ORDER BY user_key
      
    • 检索和分析结果

  • 示例2

    • 场景
      根据 user_key 进行分组,查询每个user前进的最多连续stage数。

    • 日志样例

    • 检索和分析语句

      * | SELECT user_key, WINDOW_FUNNEL(86400,__time__/1000,stage_key, ARRAY ['stage1', 'stage2', 'stage3']) AS levels GROUP BY user_key ORDER BY user_key
      
    • 检索和分析结果