SSAS

SQL Serverのデータ分析を行った(3)

下記「SQL Serverのデータ分析を行った(1)」の記事で、ディメンションを作成する際にキー列を指定していたが、主キー項目が無いテーブルの場合は、ROW_NUMBERで採番した連番をキー列に指定すれば良いことが分かったため、ここに記載する。

SQL Serverのデータ分析を行った(1)今回は、データ分析用のデータ(ディメンション・キューブ)を作成するためのSQL Server Analysis Services(SSA...

以下のように、ROW_NUMBER() OVER (order by 句)で連番を発番することができる。
row_numberによる発番

この連番を利用するには、以下のように、データソースビューを編集し、名前付きクエリのSELECT文にROW_NUMBER() OVER (order by 句)を付与すればよい。

1) データソースビューを右クリックし、「開く」を押下
row_numberによるSSAS生成1

2) 以下のように、salesテーブルのオブジェクトを右クリックし、「テーブルの置換」メニューから「新しい名前付きクエリの使用」を選択
row_numberによるSSAS生成2

3) 以下のように、SELECT文にROW_NUMBER() OVER (order by 句)を追加し、実行ボタンを押下
row_numberによるSSAS生成3

4) 下記エラーメッセージが出るが、「続行」を押下
row_numberによるSSAS生成4

5) 名前付きクエリの作成画面に連番の列(rn)が追加されていることを確認し、「OK」を押下
row_numberによるSSAS生成5

6) 以下のように、データソースビューに連番の列(rn)が追加される
row_numberによるSSAS生成6

以上のようにすると、下図のように、ディメンションのキー列に連番の列(rn)を利用することができる。
row_numberによるSSAS生成後