1

顧客が登録するために実行する手順 (各手順の時間、手順間の時間など) の累積スナップショット ファクト テーブルを作成しました。

非常に豊富な顧客ディメンションが必要な場合、累積スナップショット テーブルから取得したすべての列を含めることはできますか? それとも冗長ですか?

蓄積されたスナップショットの列を顧客ディメンションに含めた場合、プロセスにファクト テーブルを用意する意味はありますか? 列を含めないと、顧客ディメンションを使用して簡単にフィルター処理できなくなります。

4

1 に答える 1

4

多くの場合、「ほぼリアルタイム」の指標を顧客ディメンションに追加すると、「生涯支出が $1000 を超える顧客による過去 7 日間の純売上高の合計は?」などの質問に答えたい場合の分析に役立ちます。

このデータを蓄積スナップショットに保存すると、複数ステップの ETL プロセスがセットアップされます。

  1. トランザクション ファクト テーブルのロード
  2. 昨日の指標を維持しながら、顧客ディメンションを読み込みます。
  3. 蓄積スナップショットの読み込み
  4. 新しいライフタイム メトリックで顧客ディメンションを更新します。または、このスナップショット テーブルで顧客の薄暗い部分を事前に結合するビューを作成します。

顧客ディメンション構築の一部としてこれを行うオプションがありますが、テーブルを累積スナップショットに分離すると、そのスナップショット テーブルで直接分析するのに役立ちます。

たとえば、私の累積スナップショットが「製品別の総生涯顧客売上高」である場合、これからすべての製品の総生涯売上高を取得し、それを顧客の薄暗い場所に置くことができます (おそらく、トランザクション ファクトを再度クエリするよりも高速です)。事実を製品別の顧客分析にも使用できるようにしたいと考えています。

蓄積されたスナップショットが顧客のみの粒度である場合、顧客の薄暗い上で直接ビルドを行うだけであることがわかります。しかし、通常は、他のことを実行できるように、粒度を低くすると便利です。

于 2013-03-13T20:25:30.613 に答える