0

MS が生成した日付ディメンションではなく、独自の日付ディメンションを使用しています。次のようなテーブル構造があります。

CREATE TABLE [dbo].[DateDim]
(
[DateID] [int] NOT NULL,   --PK
[FullDate] [date] NOT NULL,
[Year] [smallint] NOT NULL,
[QuarterOfYear] [tinyint] NOT NULL,
[MonthOfYear] [tinyint] NOT NULL,
[DayOfMonth] [tinyint] NOT NULL,
)

作成された階層: 年、四半期、月、月の日

関係: DateDim->DayOfMonth->Month->Quarter->Year

用に作成された複合キー

  DayOfMonth: Year, Month, DayOfMonth;
  Month: Year, Month;
  Quarter: Year, Quarter;

ただし、これを作成して処理した後、年、四半期、月、日を取得しますが、それぞれに関連付けられている FullDate は「月の日」レベルでのみ関連付けられているようです。実際の日付は、階層には関係ありません。途中で何かが欠けているに違いないことはわかっていますが、何が間違っているのかわかりません。

冗長な関係を作成したり、列を複製したりせずに、これを適切に設定する方法についての指針はありますか? (前者が不適切であることは承知しています)

4

1 に答える 1

0

最初に何が間違っていたのかわかりませんが、より少ない属性を使用してディメンションを再作成すると、正しく処理され、すべての完全な日付の値が年/四半期/月/月の日の階層と一致しました。最初に何が間違っていたのかを知りたいのですが、正しく行ったときに機能するかどうかを理解するのにあまり時間を費やすつもりはありません.

于 2014-08-12T14:34:13.287 に答える