sliding_window_counts 插件

使用此处所述的技术,计算回溯期间滑动窗口中的值的计数和非重复计数。 该插件通过 evaluate 运算符调用。

语法

T| evaluatesliding_window_counts(IdColumn,TimelineColumn,Start,End,LookbackWindow,Bin, [dim1,dim2, ...])

详细了解语法约定

参数

客户 类型​​ 必需 说明
T string 输入表格表达式。
IdColumn string 列的名称,其 ID 值表示用户活动。
TimelineColumn string 表示时间线的列的名称。
Start int、long、real、datetime 或 timespan 分析开始时段。
End int、long、real、datetime 或 timespan 分析结束时段。
LookbackWindow int、long、real、datetime 或 timespan 回溯期间。 此值应是 Bin 值的倍数,否则 LookbackWindow 将向下舍入为 Bin 值的倍数。 例如,对于过去 7ddcount 个用户:LookbackWindow = 7d
Bin int、long、real、datetime、timespan 或 string 分析步长时间段。 可能的字符串值为 weekmonthyear,与其对应的时间段分别为 startofweekstartofmonthstartofyear
dim1, dim2, ... string 维度列的列表,用于切分活动指标计算。

返回

返回一个表,该表包含回溯期间每个时间线时段(根据 bin)和每个现有维度组合的 ID 的计数和非重复计数值。

输出表架构如下:

TimelineColumn dim1 .. dim_n count dcount
类型:自 TimelineColumn 起 .. .. .. long long

示例

计算过去一周内每天分析时段的用户计数和 dcounts

let start = datetime(2017 - 08 - 01);
let end = datetime(2017 - 08 - 07); 
let lookbackWindow = 3d;  
let bin = 1d;
let T = datatable(UserId: string, Timestamp: datetime)
    [
    'Bob', datetime(2017 - 08 - 01), 
    'David', datetime(2017 - 08 - 01), 
    'David', datetime(2017 - 08 - 01), 
    'John', datetime(2017 - 08 - 01), 
    'Bob', datetime(2017 - 08 - 01), 
    'Ananda', datetime(2017 - 08 - 02),  
    'Atul', datetime(2017 - 08 - 02), 
    'John', datetime(2017 - 08 - 02), 
    'Ananda', datetime(2017 - 08 - 03), 
    'Atul', datetime(2017 - 08 - 03), 
    'Atul', datetime(2017 - 08 - 03), 
    'John', datetime(2017 - 08 - 03), 
    'Bob', datetime(2017 - 08 - 03), 
    'Betsy', datetime(2017 - 08 - 04), 
    'Bob', datetime(2017 - 08 - 05), 
];
T
| evaluate sliding_window_counts(UserId, Timestamp, start, end, lookbackWindow, bin)

输出

Timestamp 计数 dcount
2017-08-01 00:00:00.0000000 5 3
2017-08-02 00:00:00.0000000 8 5
2017-08-03 00:00:00.0000000 13 5
2017-08-04 00:00:00.0000000 9 5
2017-08-05 00:00:00.0000000 7 5
2017-08-06 00:00:00.0000000 2 2
2017-08-07 00:00:00.0000000 1 1