OData クエリを使用して Power BI レポートを作成するCreate a Power BI report with an OData Query

Azure DevOps Services |Azure DevOps Server 2020 |Azure DevOps Server 2019Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019

Power BI Desktop を使用すると、Azure DevOps でプロジェクトのレポートの作成を簡単に開始できます。With Power BI Desktop, you can easily start creating reports for your project in Azure DevOps.

Power BI Desktop がない場合は、無料で ダウンロード してインストールすることができます。If you don't have Power BI Desktop, you can download and install it for free.

Power BI のデスクトップでレポートを作成する手順に従って、 バグの日単位の傾向 を表示します。Follow the steps to create a report in Power BI desktop that shows a daily trend of bugs.

  • Power BI クエリを作成するCreate a Power BI query
  • Power BI 変換の作成Create Power BI transforms
  • 未解決のバグの傾向レポートを作成するCreate an Open Bugs trend report


Power BI レポートを作成するには、次の条件を満たす必要があります。In order to create a Power BI report, you must meet the following criteria:

  • プロジェクトのメンバーである必要があります。You must be a member of a project. プロジェクトがまだない場合は、プロジェクトを作成します。If you don't have a project yet, create one. 無料のサインアップ」を参照してください。See Sign up for free.
  • プロジェクトメンバーとして追加されていない場合は、 今すぐ追加してください。If you haven't been added as a project member, get added now. 利害関係者を除く、プロジェクトへのアクセス権を持つすべてのユーザーは、分析ビューを表示できます。Anyone with access to the project, except Stakeholders, can view Analytics views.
  • [ View Analytics ] アクセス許可が [ 許可] に設定されていることを確認します。Have the View Analytics permission set to Allow. アクセス許可を付与する」を参照してください。See Grant permissions to access Analytics.
  • ボード を有効にする必要があります。Boards must be enabled. 再度有効にするには、「 Azure DevOps サービスを有効または無効にする」を参照してください。To re-enable it, see Turn an Azure DevOps service on or off.
  • 2018 年10月 以降のバージョン Power BI Desktop がインストールされている。Have installed Power BI Desktop October 2018 Update or later version. このクライアントアプリケーションは、公式の Power BI Desktop ダウンロードページからダウンロードできます。You can download this client application from the official Power BI Desktop download page.
  • 傾向レポートを生成する一定期間、追跡対象の作業項目を保持します。Have tracked work items for some period of time on which to generate a trend report.

Power BI クエリを作成するCreate a Power BI Query

次のように Power BI にデータをプルする Power BI クエリを作成します。Create a Power BI Query to pull the data into Power BI as follows:

  1. [ データの取得]、[ 空のクエリ] の順に選択します。Choose Get Data, and then Blank Query.

    Power BI-空のクエリPower BI - Blank Query

  2. Power BI クエリエディターで、[ 詳細エディター] を選択します。From the Power BI Query editor, choose Advanced Editor.

    Power BI-選択詳細エディターPower BI - Select Advanced Editor

  3. [詳細エディター] ウィンドウが開きます。The Advanced Editor window opens.

    Power BI-詳細エディターPower BI - Advanced Editor

  4. 内容を次のクエリに置き換えます。Replace the contents with the following query.

       Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
            &"$apply=filter( "
                &"WorkItemType eq 'Bug' "
                &"and StateCategory ne 'Completed' "
                &"and startswith(Area/AreaPath,'{areapath}') "
                &"and DateValue ge {startdate}  "
                &") "
            &"/groupby( "
                &"(DateValue,State,WorkItemType,Priority,Severity,Area/AreaPath,Iteration/IterationPath,AreaSK), "
                &"aggregate($count as Count) "
                &") "
        ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 

    Power BI-詳細エディター貼り付けられたクエリPower BI - Advanced Editor - Pasted Query

  5. サンプルクエリ内の値を置き換えます。Substitute your values within the sample query.

    サンプルクエリには、値に置き換える必要がある文字列が含まれています。The sample query has strings that you must replace with your values:

    • {organization}-組織名{organization} - Your organization name
    • {project}-チームプロジェクトの名前。{project} - Your team project name. または、クロスプロジェクトクエリの場合は、"/{project}" を完全に省略します。Or omit "/{project}" entirely, for a cross-project query
    • {system.areapath}-自分の区分パス。{areapath} - Your Area Path. 形式: Project\Level1\Level2Format: Project\Level1\Level2
    • {startdate}-傾向レポートを開始する日付。{startdate} - The date to start your trend report on. 形式: YYYY-MM-DDZ。Format: YYYY-MM-DDZ. 例: 2019-07-01Z は 2019-7 月01を表します。Example: 2019-07-01Z represents 2019-July-01. 引用符で囲まないでください。Do not enclose in quotes.

    Power BI-詳細エディター-クエリ内の文字列の置換Power BI - Advanced Editor - Replace strings in query

  6. [ 完了 ] をクリックしてクエリを実行します。Choose Done to execute the query.

    アカウントに接続したことがない場合は、Power BI 認証が必要になることがあります。If you have never connected to your account, Power BI may require you to authenticate. 詳細については、「 クライアント認証オプション 」を参照してください。See Client authentication options for more information.

Power BI 変換の作成Create Power BI transforms

区分、イテレーション、担当者の列を展開するExpand Area, Iteration, AssignedTo columns

このクエリでは、Power BI で使用する前に拡張する必要があるいくつかの列が返されます。The query returns several columns that you need to expand before you can use them in Power BI. OData $expand ステートメントを使用してプルされたエンティティは、いくつかのフィールドを持つレコードを返します。Any entity pulled in using an OData $expand statement returns a record with potentially several fields. レコードを展開して、エンティティをそのフィールドにフラット化する必要があります。You need to expand the record to flatten the entity into its fields. このようなエンティティの例として、担当者、イテレーション、領域などがあります。Examples of such entities are: AssignedTo, Iteration, and Area.

Power Query エディターで詳細エディターを閉じた後、必要なエンティティの展開ボタンを選択します。After closing the Advanced Editor and while remaining in the Power Query Editor, select the expand button on the entities you need to flatten.

  1. [展開] ボタンをクリックします。Choose the expand button.

    エンティティ列の展開、Power BI + ODataExpand an entity column, Power BI + OData

  2. フラット化するフィールドを選択します。Select the fields to flatten.

    フラット化するフィールドを選択します。Select the fields to flatten.

  3. テーブルにエンティティフィールドが含まれるようになりました。The table now contains entity field(s).

    テーブルにエンティティフィールドが含まれるようになりました。The table now contains entity field(s).

  4. エンティティを表すすべてのフィールドに対して、手順 1. ~ 3. を繰り返します。区分、イテレーション、担当者。Repeat steps 1 through 3 for all fields representing entities: Area, Iteration, AssignedTo.

フィールドとクエリの名前を変更し、& 適用を閉じるRename fields and query, then Close & Apply

完了したら、列の名前を変更することができます。When finished, you may choose to rename columns.

  1. 列ヘッダーを右クリックし、[名前の変更] を選択します。Right-click a column header and select Rename...

    列名の変更 Power BIPower BI Rename Columns

  2. また、クエリの名前 を既定のクエリ名 からより意味のあるものに変更することもできます。You also may want to rename the query from the default Query1, to something more meaningful.

    クエリ名の変更 Power BIPower BI Rename Query

  3. 完了したら、[ 閉じる & 適用 ] をクリックしてクエリを保存し、Power BI に戻ります。Once done, choose Close & Apply to save the query and return to Power BI.

    Power BI 閉じ & 適用Power BI Close & Apply

レポートを作成するCreate the report

Power BI には、レポート可能なフィールドが表示されます。Power BI shows you the fields you can report on.


次の例では、どの列も名前を変更していないことを前提としています。The example below assumes that no one renamed any columns.

サンプル-ボードのロールアップ-フィールドSample - Boards Rollup - Fields

単純なレポートを作成するには、次の手順を実行します。For a simple report, do the following steps:

  1. Power BI ビジュアライゼーションの 折れ線グラフ を選択します。Select Power BI Visualization Line chart.
  2. "DateValue" フィールドを [] に追加します。Add the field "DateValue" to Axis
    • "DateValue" を右クリックし、日付階層ではなく "DateValue" を選択します。Right-click "DateValue" and select "DateValue", rather than Date Hierarchy
  3. フィールド "State" を 凡例 に追加しますAdd the field "State" to Legend
  4. フィールド "Count" を に追加しますAdd the field "Count" to Values
    • [作業項目] フィールドを右クリックし、[ 合計 ] が選択されていることを確認します。Right-click WorkItemId field and ensure Sum is selected

レポートの例を次に示します。The example report:

サンプル-ボードロールアップ-レポートSample - Boards Rollup - Report

複数のチームからデータを取り込むPull in data from multiple teams

多くの場合、複数のチームのデータを集計して比較する必要があります。Oftentimes, you want to aggregate and compare data from multiple teams. 複数のチームから項目をプルする場合は、レポートに チームスライサーを追加 することを検討してください。If you are pulling in items from multiple teams, consider adding a Team slicer to your report. チームスライサーを使用すると、既存のレポートをチーム名でフィルター処理できます。A Team slicer allows you to filter the existing report by Team Name.

次の操作:Try this next