慢慢学doris之【窗口函数】

窗口函数也叫分析函数,可以用于自定义额外的查询字段,用于分析查询出来的数据。

 举例说明,比如说现在有一个资讯浏览量的查询结果

 其中sum_counts字段是根据日期分组然后累加的点击量,一般情况下,查询到这里也就差不多了。但是使用窗口函数还可以进一步分析得到的数据。

比如,使用语句:SUM(sum_counts) OVER (PARTITION BY current_info_id ORDER BY count_date rows between 1 preceding and 1 following) AS three_sum可以分析得到连续三天的浏览量总和

 

使用语句:AVG(sum_counts) OVER (PARTITION BY current_info_id ORDER BY count_date rows between 1 preceding and 1 following) AS three_avg 可以分析得出连续三天内的浏览量平均值

 

类似的函数还有MAX,MIN,COUNT等

-----------------------------------------------------------------------------------------------------------------------------------------

window_funnel是一个漏斗分析的方法

用法如下:

window_funnel(window, mode, timestamp_column, event1, event2, ... , eventN)

window:分析的时间范围,单位为秒

mode:分析模式,一般为'default'

timestamp_column:时间字段 单位为datetime

event1,event2,.......eventn:多个指定事件

假如现在有这样的一个业务表,里面记录了用户的操作记录,包含字段:用户、事件、操作

我们就可以利用这个漏斗分析函数,去分析每个用户的操作顺序,从而预测用户的操作习惯。

| username |                time      | event  |

| 客户A     |  2024-01-01 00:00:00 | 点击XX|

| 客户A     |  2024-01-01 00:10:00 | 收藏XX|

| 客户A     |  2024-01-01 00:22:00 | 加车XX|

| 客户A     |  2024-01-01 00:22:00 | 下单XX|

| 客户B     |  2024-01-01 00:00:00 | 点击XX|

| 客户B     |  2024-01-01 00:10:00 | 收藏XX|

| 客户B     |  2024-01-01 00:22:00 | 下单XX|

我们现在指定一个事件顺序 点击-》收藏-》加车-》下单

通过这个漏斗分析,我们可以得到客户A的时间长度为4,客户B的时间长度为2。

如果数据量足够大,就可以假定客户A和客户B的购买习惯。

 

posted on 2024-03-11 15:10  little天  阅读(448)  评论(0编辑  收藏  举报

导航