債券やローンなどの金融証券に関するデータを含む DW を作成しています。これらの有価証券は、支払スケジュールに関連付けられています。たとえば、債券は四半期ごとに支払うことができますが、住宅ローンは通常毎月 (場合によっては隔週) 支払うことになります。支払いスケジュールは証券の取引時に作成され、ほとんどの場合、変更されません。ただし、設計は変更される場合に対応する必要があります。
現在、このデータをモデル化しようとしていますが、実行可能な設計を思いつくのに苦労しています。最も一般的に照会されるフィールドの 1 つは、「次の支払い日」です。ユーザーは、証券が次に支払う時期を知りたいことがよくあります。したがって、証券ごとに次の支払い日と金額をできるだけ簡単に取得できるようにしたいと考えています。
また、ユーザーは履歴クエリを実行することが多く、その場合、特定の時点での次の支払い日と金額が必要になります。たとえば、2009 年 1 月 31 日を振り返り、次の支払い日 (住宅ローンの場合、通常は 2009 年 2 月) を照会したい場合があります。また、360 件のレコード (30 年間の住宅ローン x 12 回の支払い/年) で構成される証券の支払いスケジュール全体をクエリすることもよくあります。
次回の支払日と金額は毎月または隔週で変化するため、これらのフィールドはゆっくりと変化するディメンションにはうまく適合しないようです。おそらくファクト テーブルを使用する方が理にかなっていますが、それをモデル化する方法がわかりません。どんなアイデアでも大歓迎です。