次の方法で共有


Power BI と OData クエリを使用してデータに接続する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Power BI にデータをプルするには、Open Data Protocol (OData) クエリを使用することをお勧めします。 OData は、構造化情報標準機構 (OASIS) によって確立され、国際標準化機構および国際電気技術委員会 (ISO/IEC) によって承認された標準です。 OData では、REST API の構築と使用に関するベスト プラクティスが定義されています。 詳細については、 OData のドキュメントを参照してください

すぐに開始するには、 OData クエリを使用したサンプル レポートの概要に関するページを参照してください。 その他の方法については、「 Power BI 統合について」を参照してください。

Power BI では OData クエリを実行できます。このクエリは、フィルター処理または集計された一連のデータを Power BI に返すことができます。 OData クエリには、次の 2 つの利点があります。

  • すべてのフィルター処理はサーバー側で行われます。 必要なデータのみが返されるため、更新時間が短くなります。
  • データ サーバー側を事前に集計できます。 OData クエリでは、作業項目のロールアップやビルド失敗率などの集計を実行できます。 集計はサーバー側で実行され、集計値のみが Power BI に返されます。 事前集計を使用すると、すべての詳細データを Power BI にプルしなくても、大規模なデータセット全体で集計を実行できます。

このチュートリアルでは、次の操作を行います。

  • OData クエリを記述してテストします。
  • Power BI から OData クエリを実行します。

前提条件

カテゴリ 要求事項
アクセス レベル - プロジェクト メンバー
- 少なくともベーシックアクセス。
権限 既定では、プロジェクト メンバーには Analytics にクエリを実行してビューを作成する権限があります。 サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件の詳細については、「 Analytics にアクセスするためのアクセス許可と前提条件」を参照してください。

Visual Studio Code を使用して OData クエリを記述およびテストする

OData を記述してテストする最も簡単な方法は、OData 拡張機能Visual Studio Code を使用することです。 Visual Studio Code は、Windows、Mac、Linux で使用できる無料のコード エディターです。 OData 拡張機能には、構文の強調表示や、クエリの記述とテストに役立つその他の関数が用意されています。

Visual Studio Code と OData 拡張機能をインストールする

  1. Visual Studio Code をインストールします。

  2. Visual Studio Code を開き、[ 拡張機能] を選択し、 odata を検索します。 結果の一覧で vscode-odata を選択し、この拡張機能をインストールします。

  3. Visual Studio Code で、拡張子が .odata の空のファイルを作成して 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 でクエリを記述すると、構文が強調表示されます。

Visual Studio Code の OData ファイルを示すスクリーンショット。コード要素の各型には、独自の色があります。

OData クエリをテストする

  1. OData クエリをテストするには、クエリ テキスト内の任意の場所にカーソルを置き、[ 表示>コマンド パレット] を選択します。

  2. 検索ボックスに「 odata 」と入力して OData コマンドを表示します。

    Visual Studio Code OData 拡張機能のコマンド パレットを示すスクリーンショット。

  3. [OData: 開く] を選択します。 このアクションは、複数行クエリを 1 行の URL に結合し、クエリを実行して、既定のブラウザーで結果を開きます。

    • OData クエリ結果セットは JSON 形式です。 結果を表示するには、ブラウザーの JSON フォーマッタ拡張機能をインストールします。 Chrome と Microsoft Edge の両方で、いくつかのオプションを使用できます。

      読み取り可能な形式で表示された OData クエリの JSON 出力を示すブラウザーのスクリーンショット。

    • クエリにエラーがある場合、Analytics サービスは JSON 形式でエラーを返します。 たとえば、次のエラーは、クエリが存在しないフィールドを選択することを示しています。

      読み取り可能な形式の JSON 出力を示すブラウザーのスクリーンショット。出力内のメッセージは、OData クエリのエラーを示します。

クエリが正しく動作することを確認したら、Power BI から実行できます。

Power BI から OData クエリを実行する

Power BI から OData クエリを実行するには、次のセクションの手順を実行します。

複数行の OData クエリを 1 行のクエリに結合する

Power BI でクエリを使用する前に、複数行の OData クエリを 1 行のクエリに変換する必要があります。 この目的で OData: Combine コマンドを使用するには、次の手順を実行します。

  1. 複数行のクエリ テキストを含む OData ファイルのコピーを作成します。 単一行クエリを読み取り可能な複数行クエリに変換する方法がないため、この手順をお勧めします。

  2. Visual Studio Code で OData ファイルのコピーを開き、クエリ テキスト内の任意の場所にカーソルを置きます。

  3. [ 表示>コマンド パレット] を選択します。 検索ボックスに「 odata」と入力します。 次に、結果の一覧で [OData: 結合] を選択します。

    複数行クエリは、単一行クエリに変換されます。

    Visual Studio Code の OData ファイルのスクリーンショット。このファイルには、複数行のクエリの後に単一行バージョンのクエリが含まれています。

  4. 次のセクションで使用する行全体をコピーします。

Power BI からクエリを実行する

  1. Power BI で、[ データの取得>OData フィード] を選択します。 詳細については、「 OData クエリを使用して Power BI レポートを作成する」を参照してください。

    データの取得と OData フィードが強調表示されている Power BI のスクリーンショット。

  2. OData フィード ウィンドウの URL ボックスに、前のセクションでコピーした OData クエリを貼り付け、[OK] を選択します。

    [OData フィード] ダイアログのスクリーンショット。[URL] ボックスには、単一行の OData クエリが含まれています。

    Power BI にプレビュー ページが表示されます。

    データを読み込んで変換するためのボタンを含む Power BI のプレビュー ページのスクリーンショット。テーブルには、いくつかの作業項目に関する情報が一覧表示されます。

クエリ オプションを指定する

  1. プレビュー ページで、[データの 変換 ] を選択して Power Query エディターを開きます。

    Power Query エディターのスクリーンショット。テーブルには、複数の作業項目の OData フィード データが一覧表示されます。

  2. リボンで、[ 詳細エディター] を選択します。

    Power BI リボンのスクリーンショット。[詳細エディター] が強調表示されています。

  3. [詳細エディター] ウィンドウで、水平方向にスクロールして、クエリの [Implementation="2.0"] パラメーターを表示します。

    [詳細エディター] ウィンドウのスクリーンショット。クエリの末尾が表示され、実装パラメーターが強調表示されます。

  4. [Implementation="2.0"]を次の文字列に置き換えます。

    [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]

    [詳細エディター] ウィンドウのスクリーンショット。クエリの末尾が表示されます。置換文字列が含まれており、強調表示されています。

    この変更は、調整エラーを防ぐのに役立ちます。 新しい値には、次の効果があります。

    • OData バージョン 4 を参照するように Power BI に指示します。
    • これらは、クエリのパフォーマンスを向上させる null 値を省略するように Analytics サービスに指示します。

    Power Query は、検出されたすべての null 値に対して別のクエリを生成することで、null 値をエラーとして解決しようとします。 このアクションにより、何千ものクエリが発生する可能性があります。 これらのクエリは、ユーザー アカウントが調整される使用量のしきい値をすぐに超える可能性があります。

  5. [ 完了] を 選択して詳細エディターを閉じ、Power BI Power Query エディターに戻ります。 Power Query エディターを使用して、次の省略可能なアクションを実行できます。

    • Query1 クエリの名前をより具体的なものに変更します。
    • 列を特定の型に変換します。 Power BI は型を自動的に検出しますが、列を特定のデータ型に変換することもできます。
    • 計算列を追加します。
    • 列を削除する。
    • 列を特定のフィールドに展開します。

データを使用してレポートを作成する

[ 閉じる] & [適用] を選択して設定を保存し、Power BI にデータをプルします。 データの更新後は、Power BI で通常行うのと同じようにレポートを作成できます。

Power BI リボンのスクリーンショット。[閉じて適用] ボタンが強調表示されています。