コンタクト履歴ファクト テーブルのデータ ウェアハウス ファクト テーブルの設計に取り組んでいます。私の現在のスキーマは次のようになります。
[FK] DateKey INT
[FK] TimeKey INT
[NK] CustomerNK INT
[NK] CustomerPhoneNK INT
[FK] ContactTypeKey INT
[FK] ContactResultKey INT
[BK] ContactRefBK INT
ContactTS DATETIME
Counter INT (=1)
私のアプリケーション要件の 1 つは、ディメンションContactResult
の選択リストの最新のものを見つけることです。ディメンションには、ContactType
フィルタリングする値の範囲を識別するために使用される属性があります。ContactType
ContactClass
上記の構造により、ContactType
によって選択されたすべての連絡先情報をContactClass
取得でき、そのリストを処理して最新の値を取得できます。
問題は、特定の最新の連絡先イベントを簡単に取得できるように、上記の変更を誰かが提案できるContactClass
かどうかです。現在、これはトランザクション ファクト テーブルですが、使いやすさが向上する場合は喜んで変更します。
この操作は、幅広い顧客 (200K+) に対してかなり頻繁に実行されるため、パフォーマンスが重要です。操作は Web インターフェイス上の C# コードで行われるため、BI ツール固有のソリューションはこの場合には役に立ちません。
これまでのところ、私が思いついた唯一のアイデアは、各 の最新のレコードのみを記録する累積ファクト テーブルですContactClass
。このオプションの改善は大歓迎です。