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 拡張機能をインストールする

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

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

  3. たとえば、 filename.odataVisual Studio Code で OData ファイルを作成して保存します。 任意の名前を付けますが、OData 拡張機能機能を .odata 有効にするには拡張機能が必要です。

OData クエリを記述する

  1. OData クエリを記述します。 クエリの例については、OData クエリを 使用するサンプル レポートの概要を参照してください

    次のクエリは、特定の領域パスの上位 10 個の作業項目を返します。

  2. {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} します。

詳細については、「OData クエリのクイック リファレンス」を参照してください

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 の両方で、いくつかのオプションを使用できます。

      Visual Studio Code OData 拡張機能の JSON 出力を示すスクリーンショット。

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

      Visual Studio Code OData 拡張機能の 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 を実行できます。 単一行クエリを読み取り可能な複数行クエリに変換する方法がないため、最初にこの手順を実行します。

  1. Visual Studio Code で、クエリ テキスト内の任意の場所にクエリを配置し、[コマンド パレットの表示>] を選択します。 検索ボックスに「odata」と入力します。 次に、結果の一覧で [OData: 結合] を選択します。

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

    Visual Studio Code OData 拡張機能が 1 行クエリに結合されたことを示すスクリーンショット。

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

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

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

    Power BI OData フィード コマンドを示すスクリーンショット。

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

    .

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

    Power BI OData フィードのプレビュー ページを示すスクリーンショット。

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

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

    Power BI OData フィードPower Query エディター開かれていることを示すスクリーンショット。

  2. リボンの詳細エディターを選択します。

    Power BI OData フィード詳細エディター選択されていることを示すスクリーンショット。

  3. 水平方向にスクロールして、[クエリ] ペインにパラメーターを表示[Implementation="2.0"]します。

    詳細エディターが右にスクロールされた Power BI OData フィードを示すスクリーンショット。

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

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

    置換文字列を示すスクリーンショット。

    Note

    調整エラーを防ぐには、次の操作を行います。

    • OData v4 を参照するように Power BI に指示します。
    • クエリのパフォーマンスを向上させる null 値を省略するように Analytics サービスに指示します。 Power Query は、検出されたすべての null 値に対して別のクエリを生成することで、null 値をエラーとして解決しようとします。 このアクションにより、何千ものクエリが発生し、使用しきい値をすぐに超えて、ユーザー アカウントが調整される可能性があります。

    Power BI が Azure DevOps Analytics Service に対して OData クエリを正常に実行するには、次のアクションが必要です。

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

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

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

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

Power BI の [閉じて適用] ボタンを示すスクリーンショット。