データマートの分析

データマート エディターSQL クエリ エディターなどの複数のツールを使用して、データマートを分析できます。 この記事では、これらのツールを使用してデータマートを分析する方法と、必要な情報の最適な表示に関する提案について説明します。

データマート エディター内で分析する

データマート エディターは、データマートを分析するための簡単なビジュアル インターフェイスを提供します。 以後のセクションでは、データマート エディターを使用して、データマートとデータに関する分析情報を取得する方法についてのガイダンスを提供します。

ビジュアル クエリ

データマートにデータを読み込んだら、データマート エディターを使用して、データを分析するクエリを作成できます。 ビジュアル クエリ エディターを使用すると、コードなしのエクスペリエンスでクエリを作成できます。

ビジュアル クエリ エディターにアクセスするには、次の 2 つの方法があります。

次の画像に示すように、[データ グリッド] ビューで、リボンの [+ 新しいクエリ] ボタンを使用して新しいクエリを作成します。

Screenshot of the new query button on the data grid ribbon.

または、次の画像に示すように、データマート エディター ウィンドウの下部にある、デザイン ビューのアイコンを使用することもできます。

Screenshot of the design view icon in the datamart editor.

クエリを作成するには、左側のオブジェクト エクスプローラーからキャンバスにテーブルをドラッグ アンド ドロップします。

Screenshot of dragging a table onto the canvas of the datamart editor.

1 つ以上のテーブルをキャンバスにドラッグすると、ビジュアル エクスペリエンスを使用してクエリを設計できます。 データマート エディターでは、同様の Power Query ダイアグラム ビュー エクスペリエンスを使用して、データのクエリと分析を簡単に行うことができます。 Power Query ダイアグラム ビューの詳細を確認してください。

ビジュアル クエリを操作すると、数秒ごとにクエリが自動的に保存されます。 下部のクエリ タブに表示される "保存インジケーター" は、クエリが保存されていることを示します。

次の画像は、コードなしのビジュアル クエリ エディターを使用して作成された、"注文別の上位の顧客" を取得するサンプル クエリを示しています。

Screenshot of sample query results in the datamart editor.

ビジュアル クエリ エディターについては、いくつか留意すべき点があります。

  • 書き込みできるのは DQL のみです (DDL や DML は不可)
  • 現在サポートされているのは、クエリ フォールディングをサポートする Power Query 操作のサブセットのみです
  • 現在、Excel でビジュアル クエリを開くことはできません

SQL クエリ エディター

SQL クエリ エディターは、T-SQL を使用してクエリを記述するためのテキスト エディターです。 組み込みの SQL クエリ エディターにアクセスするには、データマート エディター ウィンドウの下部にある、SQL クエリ エディター ビューのアイコンを選択します。

Screenshot of the S Q L query editor view icon.

SQL クエリ エディターでは、Intellisense、コード補完、構文の強調表示、クライアント側の解析と検証がサポートされます。 T-SQL クエリを作成したら、[実行] を選択してクエリを実行します。 SQL クエリを操作すると、数秒ごとにクエリが自動的に保存されます。 下部のクエリ タブに表示される "保存インジケーター" は、クエリが保存されていることを示します。 [結果] プレビューが [結果] セクションに表示されます。 [Download in Excel] (Excel でダウンロード) ボタンをクリックすると、Excel で対応する T-SQL クエリが開き、クエリが実行され、結果を Excel で表示できます。 [Visualize results] (結果の視覚化) を使うと、SQL クエリ エディター内でクエリ結果からレポートを作成できます。

ビジュアル クエリ エディターについては、いくつか留意すべき点があります。

  • 書き込みできるのは DQL のみです (DDL や DML は不可)

Screenshot of the SQL query editor query results.

エディターの外部で分析する

データマートは、SSMS や Azure Data Studio などの独自の開発環境を通じて、SQL DQL (クエリ) エクスペリエンスを提供します。 最新バージョンのツールを実行し、Microsoft Entra ID または MFA を使用して認証する必要があります。 ログイン プロセスは、Power BI のサインイン プロセスと同じです。

Diagram that shows data sources and datamarts with S Q L and Azure data studio.

組み込みのクエリと外部 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 の [データマート (プレビュー)] タブを選んでセマンティック モデル設定ページに移動します。 そこから、次の画像に示すように、[サーバー設定] セクションを展開し、接続文字列をコピーします。

Screenshot of the server settings connection string.

SSMS の使用を開始する

SQL Server Management Studio (SSMS) を使用するには、SSMS バージョン 18.0 以降を使用している必要があります。 SQL Server Management Studio を開くと、[サーバーに接続] ウィンドウが表示されます。 手動で開くには、[オブジェクト エクスプローラー] > [接続] > [データベース エンジン] を選択します。

Screenshot of the database engine option in S S M S.

[サーバーに接続] ウィンドウが開いたら、この記事の前のセクションからコピーした接続文字列を [サーバー名] ボックスに貼り付けます。 [接続] を選択し、認証に適した資格情報を使用して続行します。 Microsoft Entra ID - MFA 認証のみがサポートされることに注意してください。

Screenshot of the S Q L server connect to server window.

接続が確立されると、オブジェクト エクスプローラーには、データマートから接続された SQL DB と、それぞれのテーブルとビューが表示され、そのすべてにクエリを実行できます。

Screenshot of the object explorer showing datamart tables and views.

テーブル内のデータを簡単にプレビューするには、テーブルを右クリックし、表示されるコンテキスト メニューから [上位 1000 行を選択] を選択します。 自動生成されたクエリは、テーブルの主キーに基づいて上位 1,000 行を表示する結果のコレクションを返します。

Screenshot of the context menu in object explorer.

次の画像は、そのようなクエリの結果を示しています。

Screenshot of the context menu query results.

テーブル内の列を表示するには、オブジェクト エクスプローラー内でテーブルを展開します。

Screenshot of the object explorer information.

SSMS またはその他のクライアント ツールを使用してデータマートに接続すると、データマートの [モデル] スキーマで作成されたビューを確認できます。 データマートの既定のスキーマ構成は [モデル] に設定されます。

SSMS を使用して接続されている場合、データマートの [セキュリティ] の下には "管理者" と "閲覧者" という他の 2 つのロールが表示されます。 "管理者"、"メンバー" または "共同作成者" のいずれかのロールのワークスペースに追加されたユーザーは、データマートの "管理者" に追加されます。 ワークスペースの "閲覧者" ロールに追加されたユーザーは、データマートの "閲覧者" ロールに追加されます。

リレーションシップ メタデータ

データマートに追加された拡張プロパティ isSaaSMetadata で、このメタデータが SaaS エクスペリエンスに使用されていることを確認できます。 この拡張プロパティは、次のようにクエリできます。

SELECT [name], [value] 
FROM sys.extended_properties 
WHERE [name] = N'isSaaSMetadata'

クライアント (SQL コネクタなど) は、次のようにテーブル値関数にクエリを実行してリレーションシップを読み取れます。

SELECT * 
FROM [metadata].[fn_relationships]();

メタデータ スキーマの下に、データマート内の リレーションシップ を維持するための relationshipsrelationshipColumns という名前のビューがあることに注意してください。 次の表に、それぞれの説明を順番に示します。

[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 の詳細については、以下の記事を参照してください。

データフローとデータ変換の詳細については、次の記事を参照してください。