Power BI と OData クエリを使用してデータに接続する
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Power BI にデータをプルするには、Open Data Protocol (OData) クエリを使用することをお勧めします。 OData は、REST API の構築と使用に関するベスト プラクティスを定義する ISO/IEC 承認 OASIS 標準です。 詳細については、OData のドキュメントを 参照してください。
すぐに開始するには、OData クエリを使用するサンプル レポートの概要を参照してください。 その他の方法については、「Power BI 統合について」を参照してください。
Power BI では OData クエリを実行できます。このクエリは、フィルター処理または集計された一連のデータを Power BI に返すことができます。 OData クエリには、次の 2 つの利点があります。
- すべてのフィルター処理はサーバー側で行われます。 必要なデータのみが返されるため、更新時間が短くなります。
- データ サーバー側を事前に集計できます。 OData クエリでは、作業項目のロールアップやビルドエラー率などの集計を実行できます。 集計はサーバー側で実行され、集計値のみが Power BI に返されます。 事前集計を使用すると、すべての詳細データを Power BI にプルしなくても、大規模なデータセット間で集計を実行できます。
この記事では、次のことについて説明します。
- OData クエリを記述してテストします。
- Power BI から OData クエリを実行します。
前提条件
- アクセス: 少なくとも Basic アクセス権を持つプロジェクトのメンバーである。
- 権限: 既定では、プロジェクト メンバーは Analytics にクエリを実行し、ビューを作成する権限を持ちます。
- サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件の詳細については、「Analytics にアクセスするためのアクセス許可と前提条件」を参照してください。
Visual Studio Code を使用して OData クエリを記述およびテストする
OData を記述してテストする最も簡単な方法は、OData 拡張機能で Visual Studio Code を使用することです。 Visual Studio Code は、Windows、Mac、Linux で使用できる無料のコード エディターです。 OData 拡張機能には、構文の強調表示や、クエリの記述とテストに役立つその他の関数が用意されています。
Visual Studio Code と OData 拡張機能をインストールする
Visual Studio Code をインストールします。
Visual Studio Code を開き、[拡張機能] を選択し、odata を検索します。 結果の一覧で vscode-odata を選択し、インストールします。
Visual Studio Code で OData ファイル (filename.odata など) を作成して保存します。 任意の名前を付けますが、OData 拡張機能機能を 有効にするには .odata 拡張子が必要です。
OData クエリを記述する
OData クエリを記述します。 クエリの例については、OData クエリを 使用するサンプル レポートの概要を参照してください。
次のクエリは、特定の領域パスの上位 10 個の作業項目を返します。
{organization}
、{project}
、{area path}
を独自の値で置き換えます。https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems? $select=WorkItemId,Title,WorkItemType,State,CreatedDate &$filter=startswith(Area/AreaPath,'{area path}') &$orderby=CreatedDate desc &$top=10
プロジェクト間でクエリを実行するには、完全に省略
/{project}
します。
詳細については、「サンプル レポートとクイック リファレンス インデックス」を参照してください。
Visual Studio Code でクエリを記述すると、構文が強調表示されます。
OData クエリをテストする
OData クエリをテストするには、クエリ テキスト内の任意の場所にカーソルを置き、[コマンド パレットの表示>] を選択します。
検索ボックスに「odata」と入力して、すべての OData コマンドを表示します。
[OData: 開く] を選択 します。 このアクションは、複数行クエリを 1 行の URL に結合し、既定のブラウザーで開きます。
OData クエリ結果セットは JSON 形式です。 結果を表示するには、ブラウザーの JSON フォーマッタ拡張機能をインストールします。 Chrome と Microsoft Edge の両方で、いくつかのオプションを使用できます。
クエリにエラーがある場合、Analytics サービスは JSON 形式でエラーを返します。 たとえば、このエラーは、クエリが存在しないフィールドを選択したことを示します。
クエリが正しく動作することを確認したら、Power BI から実行できます。
Power BI から OData クエリを実行する
Power BI から OData クエリを実行するには、次のセクションの手順に従います。
複数行の OData クエリを 1 行のクエリに結合する
Power BI でクエリを使用する前に、複数行の OData クエリを 1 行のクエリに変換する必要があります。 これを行う最も簡単な方法は、OData 拡張機能で Visual Studio Code を使用し、OData: Combine コマンドを使用することです。
Note
filename.odata ファイルでは、最初に複数行のクエリ テキストのコピーを作成してから、コピーで OData: Combine を実行できます。 単一行クエリを読み取り可能な複数行クエリに変換する方法がないため、最初にこの手順を実行します。
Visual Studio Code で、クエリ テキスト内の任意の場所にカーソルを置き、[コマンド パレットの表示>] を選択します。 検索ボックスに「odata」と入力します。 次に、結果の一覧で [OData: 結合] を選択します。
複数行クエリは、単一行クエリに変換されます。
次のセクションで使用する行全体をコピーします。
Power BI からクエリを実行する
[データの>取得] OData フィードを選択します。 詳細については、「OData クエリを使用して Power BI レポートを作成する」を参照してください。
OData フィード ウィンドウの URL ボックスに、前のセクションでコピーした OData クエリを貼り付け、[OK] を選択します。
Power BI にプレビュー ページが表示されます。
クエリ オプションを指定する
プレビュー ページで [編集] を選択して、Power Query エディターを開きます。
リボンの詳細エディターを選択します。
水平方向にスクロールして、[クエリ] ペインにパラメーターを表示
[Implementation="2.0"]
します。次の文字列に置き換えます
[Implementation="2.0"]
。[Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]
この変更は、調整エラーを防ぐのに役立ちます。 新しい値は、次のアクションを実行します。
- OData v4 を参照するように Power BI に指示します。
- クエリのパフォーマンスを向上させる null 値を省略するように Analytics サービスに指示します。
Power Query は、検出されたすべての null 値に対して別のクエリを生成することで、null 値をエラーとして解決しようとします。 このアクションにより、何千ものクエリが発生する可能性があります。 これらのクエリは、ユーザー アカウントが調整される使用量のしきい値をすぐに超える可能性があります。
[完了] を選択して詳細エディターを閉じ、Power BI Power Query エディターに戻ります。 Power Query エディターを使用して、次の省略可能なアクションを実行できます。
- クエリの名前をより
Query1
具体的なものに変更します。 - 列を特定の型に変換します。 Power BI は型を自動検出しますが、列を特定のデータ型に変換することもできます。
- 計算列を追加します。
- 列を削除する。
- 列を特定のフィールドに展開します。
- クエリの名前をより
データを使用してレポートを作成する
[閉じる] & [適用] を選択して設定を保存し、Power BI にデータをプルします。 データの更新後は、Power BI で通常と同様にレポートを作成できます。