DAX Studio利用ガイド
概要
本資料にて、DAX Studioの基本的な利用方法を記載します。
DAX Studioとは
DAX Studioとは、Microsoft社製品(Power BI , Analysis Servicesなど)で実行される表形式モデルに対してDAXクエリを発行やモデル監視ができる3rd partyツールです。
SQL Server Data toolsやPower BI Desktopと比較すると、軽量な動作が特徴となっております。
接続可能なサービス
4種類のサービスに接続です。
- Power BI Desktop
- Power B サービス(Power BI Premiumのみ)
- Azure Analysis Services、及び、SQL Server Analysis Services
- SQL Server Data Tools(統合ワークスペースモードのみ)
※PowerPivotに接続することも可能ですが、Excelのアドオンとして実行する必要があります。
環境構築
サイトより、exeをダウンロードして、インストールを実施。
DAX Studioの機能
-
- DAX Studioの基本
- 画面の説明
- モデルへの接続
- レイアウトの配置
-
- クエリの記載
- クエリの記載方法の概要
- 既存のメジャーの確認
- TSVファイルでのアウトプット方法
- クエリの実行モードを変更
- パラメータを利用してクエリを実行する方法
-
- サーバー監視
- モデルの情報確認
- DMVによるデータ確認
- クエリのプランの確認
- クエリ実行情報の確認
-
- その他
- Power BI パフォーマンスアナライザーの実行(json)の表示
1. DAX Studioの基本
1-1. 画面の説明
下記の要素により構成されています。
- リボンコントロール/ファイルメニュー
- メタデータペイン
- クエリエディター
- アウトプットペイン
- ステータスバー
1-2. モデルへの接続
下記のサービスへの接続方法を提示します。
- Power BI Desktop への接続方法
- Power B サービス(Power BI Premiumのみ)への接続方法
- Azure Analysis Services、及び、SQL Server Analysis Servicesへの接続方法
- SQL Server Data Toolsへの接続方法
1. Power BI Desktop への接続方法
1-1. pbixファイルを、Power BI Desktopにて開きます。
1-2. DAX Studioを開き、"PBI/SSDT Model"にて開いたpbixファイル名を指定して、"Connect"を選択します。
2. Power BI サービス(Power BI Premiumのみ)への接続方法
2-1. Power BI サービスにおけるデータセットの設定を開き、"接続文字列"に記載のある項目をコピーする。
2-2. DAX Studioを開き、"Tabular Server"にて開いたコピーした値を指定して、"Connect"を選択します。
2-3. Power BI サービスのアカウントにてログインします。
3. Azure Analysis Services、及び、SQL Server Analysis Servicesへの接続方法
3-1. Azure Analysis Services、及び、SQL Server Analysis Servicesの接続先名をコピーします。
3-2. DAX Studioを開き、"Tabular Server"にて開いたコピーした値を指定して、"Connect"を選択します。
3-3. Power BI サービスのアカウントにてログインします。
3-4. モデルに接続できることを確認します。
4. SQL Server Data Tools(統合ワークスペースモード)への接続方法
4-1. モデルのソリューションファイルを、SQL Server Data toolsにて開きます。
4-2. DAX Studioを開き、"PBI/SSDT Model"にて開いたソリューション名を指定して、"Connect"を選択します。
4-3. モデルに接続できることを確認します。
1-3. レイアウトの配置
レイアウトを柔軟に変更することができます。
たとえば、操作画面の配置を柔軟に変更でき、DAX式を並べることも可能です。
- タブを、中央に表示される十字ボタン群の右側にドラッグします。
- DAX式が並んで表示されていることを確認します。
2. クエリの記載
2-1. クエリの記載方法の概要
- サービスの接続後、利用するモデルを選択します。
※新規クエリを開く際に、最も一番上にあるモデルを選択する仕様であるため、クエリ実行前にモデルを確認する必要があります。
- 関数の一部を入力することで、インテリセンス機能が有効となり、tabを選択することで選択可能です。
- メタデータをドラッグアンドドロップすることで、スキーマ名やテーブル名を入力することができます。
- 上部にある"Run"を選択します。
2-2. 既存のメジャーの確認
モデルに保存されているメジャーにおける下記情報を取得可能です。
項目名 | 説明 |
---|---|
Define Measure | 既存のメジャー定義情報を表示 |
Define Dependent Measures | 依存するメジャーのメジャーを含めて定義情報を表示 |
Define and Expand Measure | 依存するメジャーの内部関数を含めて定義情報を表示 |
Show Objects That Reference Measure | 参照されているメジャーの情報を表示 |
- メジャーを右クリックし、表示したい項目を表示します。
- 情報を確認します。
※取得可能な情報のサンプル
下記のメジャーをの情報を取得します。
科目数のカウント = COUNTA('診療科目別一般病院数'[診療科目コード])
科目数のカウント_千単位 = [科目数のカウント] / 10^3
[科目数のカウント_千単位]の"Define Measure"の情報
DEFINE
MEASURE '診療科目別一般病院数'[科目数のカウント_千単位] = [科目数のカウント] / 10^3
[科目数のカウント_千単位]の"Define Dependent Measures"の情報
DEFINE
---- MODEL MEASURES BEGIN ----
MEASURE '診療科目別一般病院数'[科目数のカウント] = COUNTA('診療科目別一般病院数'[診療科目コード])
---- MODEL MEASURES END ----
MEASURE '診療科目別一般病院数'[科目数のカウント_千単位] = [科目数のカウント] / 10^3
[科目数のカウント_千単位]の"Define and Expand Measure"の情報
DEFINE
MEASURE '診療科目別一般病院数'[科目数のカウント_千単位] = CALCULATE ( COUNTA('診療科目別一般病院数'[診療科目コード]) ) / 10^3
※式が長くなった場合に、適切に表示できないことがあるので注意が必要です。
[科目数のカウント]の"Show Objects That Reference Measure"の情報
SELECT
[OBJECT_TYPE] AS [Object Type],
[TABLE] AS [Object's Table],
[OBJECT] AS [Object],
[REFERENCED_TABLE] AS [Referenced Table],
[REFERENCED_OBJECT] AS [Referenced Object],
[REFERENCED_OBJECT_TYPE] AS [Referenced Object Type]
FROM $SYSTEM.DISCOVER_CALC_DEPENDENCY
WHERE [REFERENCED_OBJECT] = '科目数のカウント'
ORDER BY [OBJECT_TYPE]
実行結果
2-3. TSVファイルでのアウトプット方法
2-4. クエリの実行モードを変更
パフォーマンス検証を実施する場合など、キャッシュを削除してからクエリを実行することが可能です。
2-5. パラメータを利用してクエリを実行する方法
"@[パラメータ名]"という記載を行うことで、パラメータに応じたクエリを実行できます。
パラメータ情報をクエリに記載することで、パラメータの入力作業が省略可能です。
- 下記のメジャーを記載します。
EVALUATE
FILTER(
'年マスタ',
'年マスタ'[年] = @年
)
- パラメータ値入力し、"OK"を選択する。
- XMLが追記されたクエリを実行して、結果を確認します。
<Parameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-analysis"> <Parameter>
<Name>年</Name>
<Value xsi:type="xsd: string">2014</Value>
</Parameter>
</Parameters>
EVALUATE
FILTER(
'年マスタ',
'年マスタ'[年] = @年
)
3. サーバー監視
3.-1. モデルの情報確認
- "Advanced"タブにある"View Metrics"を選択します。
3-2. DMVによるデータ確認
- "DMV"タブにある項目をドラッグアンドドロップします。
- 実行結果を確認します。
3-3. クエリのプランの確認
3-4. クエリ実行情報の確認
本機能により、サーバーがクエリの処理に費やした合計時間等のデータを取得できます。取得可能な情報については、ドキュメントを参照してください。
- "Home"タブにある"Server Timing"を選択します。
- クエリ実行情報を確認します。
関連項目
なし。
参考
-
サイト
-
ツールのダウンロードサイト