データマートの分析
データマート エディターや SQL クエリ エディターなどの複数のツールを使用して、データマートを分析できます。 この記事では、これらのツールを使用してデータマートを分析する方法と、必要な情報の最適な表示に関する提案について説明します。
データマート エディター内で分析する
データマート エディターは、データマートを分析するための簡単なビジュアル インターフェイスを提供します。 以後のセクションでは、データマート エディターを使用して、データマートとデータに関する分析情報を取得する方法についてのガイダンスを提供します。
ビジュアル クエリ
データマートにデータを読み込んだら、 Datamart エディター を使用して、データを分析するクエリを作成できます。 ビジュアル クエリ エディターを使用すると、コードなしのエクスペリエンスでクエリを作成できます。
ビジュアル クエリ エディターにアクセスするには、次の 2 つの方法があります。
次の画像に示すように、[データ グリッド] ビューで、リボンの [+ 新しいクエリ] ボタンを使用して新しいクエリを作成します。
または、次の画像に示すように、データマート エディター ウィンドウの下部にある、デザイン ビューのアイコンを使用することもできます。
クエリを作成するには、左側のオブジェクト エクスプローラーからキャンバスにテーブルをドラッグ アンド ドロップします。
1 つ以上のテーブルをキャンバスにドラッグすると、ビジュアル エクスペリエンスを使用してクエリを設計できます。 データマート エディターでは、同様の Power Query ダイアグラム ビュー エクスペリエンスを使用して、データのクエリと分析を簡単に行うことができます。 Power Query ダイアグラム ビューの詳細を確認してください。
ビジュアル クエリを操作すると、数秒ごとにクエリが自動的に保存されます。 下部のクエリ タブに表示される "保存インジケーター" は、クエリが保存されていることを示します。
次の画像は、コードなしのビジュアル クエリ エディターを使用して作成された、"注文別の上位の顧客" を取得するサンプル クエリを示しています。
ビジュアル クエリ エディターについては、いくつか留意すべき点があります。
- 書き込みできるのは DQL のみです (DDL や DML は不可)
- 現在サポートされているのは、クエリ フォールディングをサポートする Power Query 操作のサブセットのみです
- 現在、Excel でビジュアル クエリを開くことはできません
SQL クエリ エディター
SQL クエリ エディターは、T-SQL を使用してクエリを記述するためのテキスト エディターです。 組み込みの SQL クエリ エディターにアクセスするには、データマート エディター ウィンドウの下部にある、SQL クエリ エディター ビューのアイコンを選択します。
SQL クエリ エディターでは、IntelliSense、コード補完、構文の強調表示、クライアント側の解析、検証がサポートされます。 T-SQL クエリを作成したら、 Run を選択してクエリを実行します。 SQL クエリを操作すると、数秒ごとにクエリが自動的に保存されます。 下部のクエリ タブに表示される "保存インジケーター" は、クエリが保存されていることを示します。 [結果] プレビューが [結果] セクションに表示されます。 [Download in Excel] (Excel でダウンロード) ボタンをクリックすると、Excel で対応する T-SQL クエリが開き、クエリが実行され、結果を Excel で表示できます。 [Visualize results] (結果の視覚化) を使うと、SQL クエリ エディター内でクエリ結果からレポートを作成できます。
ビジュアル クエリ エディターについては、いくつか留意すべき点があります。
- 書き込みできるのは DQL のみです (DDL や DML は不可)
エディターの外部で分析する
データマートは、SSMS や Azure Data Studio などの独自の開発環境を通じて、SQL DQL (クエリ) エクスペリエンスを提供します。 最新バージョンのツールを実行し、Microsoft Entra ID または MFA を使用して認証する必要があります。 ログイン プロセスは、Power BI のサインイン プロセスと同じです。
組み込みのクエリと外部 SQL ツールを使用する場合の比較
コードなしのビジュアル クエリ エディターとデータマート エディターは、データマートの Power BI 内で使用できます。 コードなしのビジュアル クエリ エディターは、SQL 言語に慣れていないユーザーを支援します。一方、データマート エディターは、SQL DB の迅速な監視に役立ちます。
より包括的なユーティリティを提供するクエリ エクスペリエンスのため、広範なグラフィカル ツールと多くの機能豊富なスクリプト エディターを組み合わせると、SQL Server Management Studio (SSMS) と Azure Data Studio (ADS) がより堅牢な開発環境になります。
SQL Server Management Studio と Azure Data Studio を使用する場合の比較
どちらの分析エクスペリエンスも、SQL クエリのための広範な開発環境を提供しますが、各環境は別々のユース ケースに合わせて調整されます。
SSMS は次の場合に使用できます。
- 複雑な管理またはプラットフォーム構成
- ユーザー管理、セキュリティ機能の構成などのセキュリティ管理
- ライブ クエリ統計またはクライアント統計
ADS は次の場合に使用します。
- macOS と Linux のユーザー
- クエリの編集または実行が主である
- セットの結果を簡単にグラフ化および視覚化する
T-SQL 接続文字列を取得する
SQL の経験がある開発者やアナリストの場合、Power BI データマートの拡張機能として SQL Server Management Studio または Azure Data Studio を使用すると、より徹底的なクエリ環境が実現します。
クライアント ツールを使ってデータマートの SQL エンドポイントに接続するには、Power BI の [データマート (プレビュー)] タブを選んでセマンティック モデル設定ページに移動します。 そこから、次の画像に示すように、[サーバー設定] セクションを展開し、接続文字列をコピーします。
SSMS の使用を開始する
SQL Server Management Studio (SSMS) を使用するには、SSMS バージョン 18.0 以降を使用している必要があります。 SQL Server Management Studio を開くと、[サーバーに接続] ウィンドウが表示されます。 手動で開くには、[オブジェクト エクスプローラー] > [接続] > [データベース エンジン] を選択します。
[サーバーに接続] ウィンドウが開いたら、この記事の前のセクションからコピーした接続文字列を [サーバー名] ボックスに貼り付けます。 [接続] を選択し、認証に適した資格情報を使用して続行します。 Microsoft Entra ID - MFA 認証のみがサポートされることに注意してください。
接続が確立されると、オブジェクト エクスプローラーには、データマートの接続された SQL DB と、それぞれのテーブルとビューが表示され、そのすべてがクエリの準備が整います。
テーブル内のデータを簡単にプレビューするには、テーブルを右クリックし、表示されるコンテキスト メニューから [上位 1000 行を選択] を選択します。 自動生成されたクエリは、テーブルの主キーに基づいて上位 1,000 行を表示する結果のコレクションを返します。
次の画像は、そのようなクエリの結果を示しています。
テーブル内の列を表示するには、オブジェクト エクスプローラー内でテーブルを展開します。
SSMS またはその他のクライアント ツールを使用してデータマートに接続すると、データマートの [モデル] スキーマで作成されたビューを確認できます。 データマートの既定のスキーマ構成は [モデル] に設定されます。
SSMS を使用して接続されている場合、データマートの [セキュリティ] の下には "管理者" と "閲覧者" という他の 2 つのロールが表示されます。 "管理者"、"メンバー" または "共同作成者" のいずれかのロールのワークスペースに追加されたユーザーは、データマートの "管理者" に追加されます。 ワークスペースの "閲覧者" ロールに追加されたユーザーは、データマートの "閲覧者" ロールに追加されます。
リレーションシップ メタデータ
データマートに追加された拡張プロパティ isSaaSMetadata で、このメタデータが SaaS エクスペリエンスに使用されていることを確認できます。 次に示すように、この拡張プロパティに対してクエリを実行できます。
SELECT [name], [value]
FROM sys.extended_properties
WHERE [name] = N'isSaaSMetadata'
クライアント (SQL コネクタなど) は、次の例のようにテーブル値関数に対してクエリを実行することで、リレーションシップを読み取ることができました。
SELECT *
FROM [metadata].[fn_relationships]();
メタデータ スキーマの下に、データマート内の リレーションシップ を維持するための relationships と relationshipColumns という名前のビューがあることに注意してください。 次の表に、それぞれの説明を順番に示します。
[metadata].[relationships]
列名 | データ型 | 説明 |
---|---|---|
RelationshipId | Bigint | リレーションシップの一意識別子 |
名前 | Nvarchar(128) | リレーションシップの名前 |
FromSchemaName | Nvarchar(128) | リレーションシップの定義 "元" のソース テーブルのスキーマ名。 |
FromObjectName | Nvarchar(128) | リレーションシップの定義 "元" のテーブルまたはビュー名 |
ToSchemaName | Nvarchar(128) | リレーションシップの定義 "先" のシンク テーブルのスキーマ名 |
ToObjectName | Nvarchar(128) | リレーションシップの定義 "先" のテーブルまたはビュー名 |
TypeOfRelationship | Tinyint | リレーションシップのカーディナリティで、可能な値は、0 – None、1 – OneToOne、2 – OneToMany、3 – ManyToOne、4 – ManyToMany です |
SecurityFilteringBehavior | Tinyint | 行レベルのセキュリティ式を評価するときにリレーションシップがデータのフィルター処理に及ぼす影響を示します。 使用できる値は 1 – OneDirection、2 – BothDirections、3 – None です |
IsActive | bit | リレーションシップがアクティブか非アクティブにマークされたどうかを示すブール値です。 |
RelyOnReferentialIntegrity | bit | リレーションシップが参照整合性に依存できるかどうかを示すブール値。 |
crossFilteringBehavior | Tinyint | リレーションシップがデータのフィルター処理に及ぼす影響を示します。 使用できる値は 1 – OneDirection、2 – BothDirections、3 – Automatic です |
CreatedAt | Datetime | リレーションシップが作成された日付。 |
UpdatedAt | datetime | リレーションシップが変更された日付。 |
DatamartObjectId | Navrchar(32) | データマートの一意の識別子 |
[metadata].[relationshipColumns]
列名 | データ型 | 説明 |
---|---|---|
RelationshipColumnId | bigint | リレーションシップの列の一意識別子。 |
RelationshipId | bigint | 外部キーは、リレーションシップ テーブルの RelationshipId キーを参照します。 |
FromColumnName | Navrchar(128) | "From" 列の名前 |
ToColumnName | Nvarchar(128) | "To" 列の名前 |
CreatedAt | datetime | リレーションシップが作成された日付。 |
DatamartObjectId | Navrchar(32) | データマートの一意の識別子 |
これら 2 つのビューを結合して、データマートに追加されたリレーションシップを取得できます。 次のクエリは、これらのビューを結合します。
SELECT
R.RelationshipId
,R.[Name]
,R.[FromSchemaName]
,R.[FromObjectName]
,C.[FromColumnName]
,R.[ToSchemaName]
,R.[ToObjectName]
,C.[ToColumnName]
FROM [METADATA].[relationships] AS R
JOIN [metadata].[relationshipColumns] AS C
ON R.RelationshipId=C.RelationshipId
制限事項
現在、結果の視覚化では、ORDER BY 句を使用した SQL クエリはサポートされていません。
関連するコンテンツ
この記事では、データマート内のデータの分析に関する情報を提供しました。
データマートと Power BI の詳細については、以下の記事を参照してください。
データフローとデータ変換の詳細については、次の記事を参照してください。