私のファクトテーブルは、だれが、何を、いつ、という典型的な側面を持つ苦情で構成されています。一定期間内に対応することを目標としています。
苦情がその期間内に応答したかどうかをモデル化するのに最適な方法がわかりません。
ターゲット値と結果の両方を、結果としてメジャーとして整数としてファクトテーブルに格納できます。または、これをメジャーとして表す代わりに、yes/noの値を持つディメンションを使用して、計算されたメジャーをキューブで使用することもできます。または、両方を組み合わせて使用することもできます。
上記の方法で事実をモデル化する長所、短所、および落とし穴はありますか?
このファクトテーブルは、苦情の総数、時間内に対応した苦情の数、時間内に対応した割合、および時間内に対応しなかった個別の苦情を特定するために使用されると予想しています。
これは、将来の要件の変更をサポートする、柔軟な保存方法です。
registration_date - closing_date
である計算された列の経過時間を伴う登録日と終了日です。結果として、フラグ(はい/いいえ)としてではなく、数値として保存します。列on_time
を呼び出して、ターゲットを満たす苦情ごとに1を入力すると、その列で簡単にSUMを実行して、期間中の合計のオンタイム苦情を確認できます。
結果を得るには3つの方法があります。
fact_complaint.elapsed_time
がdim_complaint_type.target
以下であるかどうかを確認するためにどこでも同じ数式を使用して、レポートで即座に計算します。別の人が別の式を使用すると危険な場合があります。メタデータレイヤーを備えたツール(OBIEE、SAP BOなど)がある場合は、その結果のメジャーをすべてに対して一度定義できます。