我如何使用 Keen IO 显示每个用户的最新事件?
How can I show the most recent events per user with Keen IO?
假设您有一个名为 "survey-completed" 的 Keen IO 集合,其中包含与以下模式匹配的事件:
keen.id: <unique autogenerated id>
keen.timestamp: <autogenerated overridable timestamp>
userId: <hex string for user>
surveyScore: <integer from 1 to 10>
...
您将如何创建一份报告仅每个在给定时间内响应一项或多项调查的用户的最新满意度分数(例如作为一周)?
没有真正优雅的方法来实现它,但对于给定的 userId
你可以成功地 return 你的最新事件创建一个 count
查询 group_by
on [surveyScore, keen.timestamp] and an order_by
on the keen.timestamp
property. You will want to set limit
=1 到 select 只有最近的 surveyScore
。
如果您想使用 extraction,最直接的方法是 运行 将 property_names
设置为 ["userId","keen.timestamp","surveyScore"]
的提取。收到结果后,您可以进行一些客户端 post 处理。如果您想查看所有 userId
s,这可能是最好的方法。
如果您对给定的 userId
感兴趣并想使用 extraction
,您可以 运行 在 userId eq X
上使用过滤器进行提取,定义可选参数 latest
设置为 latest=1
。 latest
属性 是一个整数,包含要提取的最近事件的数量。注意:使用 latest
将调用 keen.created_at
时间戳而不是 keen.timestamp
(https://keen.io/docs/api/#the-keen-object)。
假设您有一个名为 "survey-completed" 的 Keen IO 集合,其中包含与以下模式匹配的事件:
keen.id: <unique autogenerated id>
keen.timestamp: <autogenerated overridable timestamp>
userId: <hex string for user>
surveyScore: <integer from 1 to 10>
...
您将如何创建一份报告仅每个在给定时间内响应一项或多项调查的用户的最新满意度分数(例如作为一周)?
没有真正优雅的方法来实现它,但对于给定的 userId
你可以成功地 return 你的最新事件创建一个 count
查询 group_by
on [surveyScore, keen.timestamp] and an order_by
on the keen.timestamp
property. You will want to set limit
=1 到 select 只有最近的 surveyScore
。
如果您想使用 extraction,最直接的方法是 运行 将 property_names
设置为 ["userId","keen.timestamp","surveyScore"]
的提取。收到结果后,您可以进行一些客户端 post 处理。如果您想查看所有 userId
s,这可能是最好的方法。
如果您对给定的 userId
感兴趣并想使用 extraction
,您可以 运行 在 userId eq X
上使用过滤器进行提取,定义可选参数 latest
设置为 latest=1
。 latest
属性 是一个整数,包含要提取的最近事件的数量。注意:使用 latest
将调用 keen.created_at
时间戳而不是 keen.timestamp
(https://keen.io/docs/api/#the-keen-object)。