0

コンタクト履歴ファクト テーブルのデータ ウェアハウス ファクト テーブルの設計に取り組んでいます。私の現在のスキーマは次のようになります。

[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フィルタリングする値の範囲を識別するために使用される属性があります。ContactTypeContactClass

上記の構造により、ContactTypeによって選択されたすべての連絡先情報をContactClass取得でき、そのリストを処理して最新の値を取得できます。

問題は、特定の最新の連絡先イベントを簡単に取得できるように、上記の変更を誰かが提案できるContactClassかどうかです。現在、これはトランザクション ファクト テーブルですが、使いやすさが向上する場合は喜んで変更します。

この操作は、幅広い顧客 (200K+) に対してかなり頻繁に実行されるため、パフォーマンスが重要です。操作は Web インターフェイス上の C# コードで行われるため、BI ツール固有のソリューションはこの場合には役に立ちません。

これまでのところ、私が思いついた唯一のアイデアは、各 の最新のレコードのみを記録する累積ファクト テーブルですContactClass。このオプションの改善は大歓迎です。

4

2 に答える 2