1

SQL Server 2008 と Analysis Services を使用してウェアハウスを作成しています。ディメンション テーブルを作成してデータを入力することはできましたが、ファクト テーブルをロードするための SQL を記述するのに苦労しています。1 つには、ディメンション テーブルの PK を使用してファクト テーブルのキーを読み込む方法がわかりません。キーと必要なメジャーを取得するための一連の JOIN を持つクエリを作成しようとしましたが、ステートメントが複雑すぎて迷子になりました。

これは、私が作業しなければならないスター スキーマです。

http://i.imgur.com/C3DGj.png

私は何を間違っていますか?かなり基本的なものが欠けているような気がしますが、これにはかなり慣れていないため、オンラインで見つけた情報のほとんどは、インストールしていない SSIS の使用を扱っているようです。

どんな助けでも大歓迎です。

4

1 に答える 1

3

今日の Data Warehouse Developer は、SSIS を使用して次元モデルをロードします。通常、参照はディメンション属性をキーに変換するために使用されます。ほとんどの場合、データは別のサーバー、フラット ファイル、または SSIS などの ETL ツールを使用する必要があるその他のものにありますが、あなたの場合はそれなしで完了できます。企業が BI に真剣に取り組んでいる場合は、SSIS のインストールと学習を推進する必要があります。

あなたの状況では、生の事実をローカルにロードしたテーブルがあると仮定すると、挿入/選択を実行できるはずです。

基本的に、(ディメンション テーブルへの入力に問題がなかったため) 各ディメンションを未加工のファクト テーブルに内部結合する必要があります。何かのようなもの:

INSERT trainingcentrefact
(timekey,locationkey,instructorkey,coursekey,paid,notpaid,... etc)
SELECT
   t.timekey
  ,l.locationkey
  ,i.instructorkey
  ,c.coursekey
  ,rf.paid
  ,rf.notpaid
  ,... etc
FROM rawfacts rf
INNER JOIN timedimension t ON rf.time = t.time
INNER JOIN locationdimension l on rf.location = l.location
INNER JOIN instructordimension i on rf.instructor = i.instructor
INNER JOIN coursedimension c on rf.course = c.course

于 2012-04-08T02:09:07.620 に答える