Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022
Power BI Desktop を使用すると、Azure DevOps でプロジェクトのレポートの作成を簡単に開始できます。
Power BI Desktop をお持ちでない場合は、 ダウンロードし 無料でインストールします。
前提条件
| カテゴリ | 要求事項 |
|---|---|
| アクセス レベル |
-
プロジェクト メンバー。 - 少なくともベーシックアクセス。 |
| アクセス許可 | Analytics を表示する権限が 許可 に設定されました。 詳細については、「Analytics アクセスのアクセス許可を付与する」を参照してください。 |
| ツール |
-
Azure Boards が有効になっている - Power BI デスクトップ |
| タスク | 指定した期間にわたって作業項目を監視し、傾向レポートを生成します。 |
| カテゴリ | 要求事項 |
|---|---|
| アクセス レベル |
-
プロジェクト メンバー。 - 少なくともベーシックアクセス。 |
| アクセス許可 | Analytics を表示する権限が 許可 に設定されました。 詳細については、「Analytics アクセスのアクセス許可を付与する」を参照してください。 |
| ツール |
-
分析拡張機能。
プロジェクト コレクション管理者は、 サービスを追加して有効にすることができます。 - Power BI Desktop。 - Azure Boards が有効になっている |
| タスク | 指定した期間にわたって作業項目を監視し、傾向レポートを生成します。 |
Power BI クエリを作成する
次のように Power BI にデータをプルする Power BI クエリを作成します。
[データの取得] を選択し、[クエリします。
Power BI クエリ エディターで、[詳細エディター] を選択します。
詳細エディター ウィンドウが開きます。
内容を次のクエリに置き換えます。
let The query you provided has a syntax issue due to the placement of double quotes. Specifically, the `$apply` and `$orderby` parameters should be part of the URL string, but they are not correctly concatenated. Here is the corrected version:
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.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,Area/AreaPath), aggregate($count as Count))"
&"&$orderby=DateValue",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
サンプル クエリ内の値に置き換えます。
サンプル クエリには、値に置き換える必要がある文字列があります。
-
{organization}- 組織名 -
{project}- チーム プロジェクト名。 または、プロジェクト間クエリの場合は、/{project}を完全に省略します -
{areapath}- エリア パス。 形式: Project\Level1\Level2 -
{startdate}- 傾向レポートを開始する日付。 形式: YYYY-MM-DDZ。 例:2022-09-01Zは 2022 年 9 月 1 日を表します。 引用符で囲む必要はありません。
-
Done を選択してクエリを実行します。
Power BI では、認証が必要になる場合があります。 詳細については、「 Client 認証オプション」を参照してください。
[領域]、[イテレーション]、[AssignedTo] 列の展開
このクエリでは、Power BI で使用する前に展開する必要がある複数の列が返されます。
$expand ステートメントを使用して取り込まれたエンティティは、複数のフィールドを含むレコードを返します。 エンティティをフィールドにフラット化するには、レコードを展開する必要があります。 このようなエンティティの例としては、 AssignedTo、 Iteration、 Areaがあります。
詳細エディターを閉じ、Power Query エディターに残っている間に、フラット化する必要があるエンティティの展開ボタンを選択します。
たとえば、 Area の展開ボタンを選択し、展開するプロパティを選択して、 OKを選択します。 ここでは、フラット化する
AreaNameとAreaPathを選択します。AreaNameプロパティは、Node Name フィールドに似ています。
注
選択できるプロパティは、クエリで返すように要求されたプロパティによって異なります。 プロパティを指定しない場合は、すべてのプロパティを使用できます。 これらのプロパティの詳細については、 Areas、 Iterations、および Users のメタデータ参照を参照してください。
テーブルにエンティティ フィールドが含まれるようになりました。
展開する必要があるエンティティを表すすべてのフィールドについて、手順 1 から 3 を繰り返します。 これらのフィールドは、 Record が展開されていない場合にテーブル列に表示されます。
フィールドとクエリの名前を変更し、[閉じて適用]
完了したら、列の名前を変更することもできます。
列ヘッダーを右クリックし、 Rename... を選択します。
また、クエリの名前を既定の Query1 から意味のあるものに変更することもできます。
完了したら、 Close & Apply を選択してクエリを保存し、Power BI に戻ります。
レポートを作成する
Power BI には、レポートできるフィールドが表示されます。
注
次の例では、どの列も名前が変更されていないことを前提としています。
単純なレポートの場合は、次の手順を実行します。
- [Power BI 視覚化] [折れ線グラフ] を選択します。
- フィールド "DateValue" を Axis に追加する
- [DateValue] を右クリックし、[日付階層] ではなく [DateValue] を選択します
- フィールド "State" を Legend に追加する
- フィールド "Count" を Values に追加する
- WorkItemId フィールドを右クリックし、 Sum が選択されていることを確認します
レポートの例: