次のパターンに一致するイベントを含む「survey-completed」というKeenIOコレクションがあるとします。
keen.id: <unique autogenerated id>
keen.timestamp: <autogenerated overridable timestamp>
userId: <hex string for user>
surveyScore: <integer from 1 to 10>
...
特定の時間(1週間など)内に1つ以上の調査に回答した各ユーザーの最新の満足度スコアのみのレポートをどのように作成しますか?
それを実現するための本当にエレガントな方法はありませんが、与えられたuserId
場合、最新のイベントを正常に返すことができcount
、group_by
on [surveyScore、keen.timestamp]とorder_by
onkeen.timestamp
プロパティを使用してクエリを作成します。limit
最新のもののみを選択するには、= 1に設定する必要がありますsurveyScore
。
抽出を使用する場合、最も簡単な方法は、にproperty_names
設定して抽出を実行すること["userId","keen.timestamp","surveyScore"]
です。結果を受け取ったら、クライアント側の後処理を行うことができます。これは、すべてのを確認したい場合におそらく最良の方法ですuserId
。
与えられたものに興味があり、userId
を使用したいextraction
場合は、でフィルターを使用して抽出を実行しuserId eq X
、オプションのパラメーターをにlatest
設定して定義できますlatest=1
。latest
プロパティは、抽出物に、最新のイベントの数を含む整数です。注:を使用latest
するとkeen.created_at
、keen.timestamp
(https://keen.io/docs/api/#the-keen-object)の代わりにタイムスタンプが呼び出されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加