累積フロー図 (CFD) サンプル レポート

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

この記事では、指定したチームのストーリー CFD を表示する方法について説明します。 このデータは、組み込みのグラフとダッシュボード ウィジェットでも使用できます。 これらのオプションの詳細については、「累積フロー ダイアグラムの表示と構成」を参照してください

次の図に、リサーチ、コミット済み、進行中レビュー中の状態のユーザー ストーリーの数を示す例を示します。 日付をポイントすると、その日付のデータに関する情報が表示されます。

Power BI 累積フロー積み上げ面グラフ レポートのスクリーンショット。かんばんボードの縦棒順に並べ替えられた列。

累積フローの詳細については、「累積フロー、リード タイム、サイクル時間のガイダンス」および「累積フロー、リード タイム、サイクル時間のガイダンス」を参照してください

Note

この記事では、「 OData クエリを使用したサンプル レポートの概要」を 読み、Power BI の基本的な理解があることを前提としています。

前提条件

  • 分析データを表示してサービスにクエリを実行するには、 Basic アクセス以上のプロジェクトのメンバーである必要があります。 既定では、すべてのプロジェクト メンバーには、Analytics のクエリと 分析ビューの定義に対するアクセス許可が付与されます。
  • サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件については、「 Analytics にアクセスするためのアクセス許可と前提条件」を参照してください。

サンプル クエリ

このセクションのクエリでは、ユーザー ストーリーの累積フロー データの返しがサポートされています。 これらのクエリでは、 WorkItemBoardSnapshot かんばんボードに対して時系列で計算されたデータを返すエンティティ セットを指定します。

Note

フィルターまたはレポートの目的で使用できるプロパティを確認するには、「Azure Boardsのメタデータ リファレンス」を参照してください。 クエリをフィルター処理したり、 で使用可能な または 値のPropertyEntityTypeNavigationPropertyBinding Pathの値のいずれかを使用してプロパティをEntitySet返したりできます。 各 は EntitySetEntityType対応します。 各値のデータ型の詳細については、対応する EntityTypeに提供されているメタデータを確認してください。

以下に示す Power BI クエリは、[ データの取得- 空の>クエリ ] ウィンドウに直接貼り付けることができます。 詳細については、「 OData クエリを使用したサンプル レポートの概要」を参照してください。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/WorkItemBoardSnapshot?"
        &"$apply=filter( "
            &"Team/TeamName eq '{teamname}' "
            &"and BoardName eq 'Stories'  "
            &"and DateValue ge {startdate} "
        &") "
        &"/groupby( "
            &"(DateValue,ColumnName,LaneName,State,WorkItemType,AssignedTo/UserName,Area/AreaPath),  "
            &"aggregate($count as Count) "
        &") "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

置換文字列とクエリの内訳

次の文字列を実際の値に置き換えます。 置換に角かっこを {} 含めないでください。 たとえば、組織名が "Fabrikam" の場合は、 ではなく {Fabrikam}を にFabrikam置き換えます{organization}

  • {organization} - 組織名
  • {project} - プロジェクト間クエリの場合は、チーム プロジェクト名を指定するか、"/{project}" を完全に省略します
  • {teamname} - CFD データを表示するチームの名前
  • {startdate} - 指定した日付以降に完了したアイテムのレポートを、次の形式で開始します YYYY-MM-DDZ。 たとえば、 2022-04-01Z 2022 年 4 月 1 日を表します。 引用符で囲む必要はありません。

クエリの内訳

次の表では、クエリの各部分について説明します。

クエリ パーツ

説明


$apply=filter(

Start filter() 句。

Team/TeamName eq '{teamname}'

特定のチームのアイテムを返します。

and BoardName eq 'Stories'

ストーリー バックログの アイテムを 返します。 エピックやフィーチャーなど、他のバックログ名を指定できます。 プロジェクトに対して選択したプロセスに対応するバックログ レベルを指定します。

and DateValue ge {startdate}

2022-04-01Z、2022 年 4 月 1 日から 2019 年 7 月 1 日まで、指定した日付以降のデータを返します。

)

Close filter() 句。

/groupby(

Start groupby() 句。

(DateValue, ColumnName, LaneName, State, WorkItemType,AssignedTo/UserName,Area/AreaPath),

グループ化 DateValue (トレンドに使用) ColumnName、およびレポートするその他のプロパティ。 ここでは、 LaneName スイムレーンによるフィルター処理を有効にする方法について取り上げます。

aggregate($count as Count)

作業項目の数として集計します。

)

Close groupby() 句。

(省略可能)クエリの名前を変更する

既定のクエリ ラベル Query1 の名前を、より意味のある名前に変更できます。 [ クエリ設定] ペインから新しい名前を入力するだけです。

Power BI クエリ メニュー オプションのスクリーンショット。クエリの名前を変更します。

Power Query エディターの列を展開する

Power Query エディターから、変換するデータを含むクエリを選択します。 CFD グラフの場合は、列 、、IterationおよびAssignedTo列をArea展開する必要があります。 方法については、「Analytics データを変換して Power BI レポートを 生成する」の「列を展開する」の次のセクションを参照してください

(省略可能)フィールドの名前を変更する

列を展開したら、1 つ以上のフィールドの名前を変更できます。 たとえば、列AreaPathArea Pathの名前を . 方法については、「列フィールドの名前を変更する」を参照してください

クエリを閉じて変更を適用する

すべてのデータ変換が完了したら、[ホーム] メニューから [閉じる] & [適用] を選択してクエリを保存し、Power BI の [レポート] タブに戻ります。

[閉じて適用] オプションPower Query エディタースクリーンショット。

積み上げ面グラフを作成する

次の例では、クエリの名前は CFD変更されましたが、列の名前は変更されませんでした。

  1. Power BI で、[視覚化] の [積み上げ面グラフ] を選択します

    CFD グラフ レポートの Power BI の [視覚化] と [フィールド] の選択のスクリーンショット。

  2. [軸] に追加DateValueし、右クリックDateValueして選択DateValueDate Hierarchyします。

  3. 値に追加Countします

  4. [凡例] にを追加ColumnNameします。

  5. [フィルター] ウィンドウで、グラフに表示する値のみを展開ColumnNameして選択します。 たとえば、[新規]、[提案済み]、[完了]、または [終了] の選択を解除できます。

    ColumnName の Power BI フィルターのスクリーンショット。

このレポートの例では、列がアルファベット順に表示されます。 ただし、優先される順序は、かんばん列の順序または進行順に従ってデータを並べ替える方法です。

Power BI 累積フロー積み上げ面グラフ のサンプル レポートのスクリーンショット。列はアルファベット順に並べ替えられています。

列を順に並べ替える

かんばんボードに固有の順序でグラフの列を並べ替えるには、次の手順を実行します。

  1. 次のクエリに従って、Power BI で新しいクエリを作成します。 完了したら、クエリの名前を ColumnOrder に 変更します

以下に示す Power BI クエリは、[ データの取得- 空の>クエリ ] ウィンドウに直接貼り付けることができます。 詳細については、「 OData クエリを使用したサンプル レポートの概要」を参照してください。

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/V3.0-preview/BoardLocations?"
        &"$apply=filter( "
            &"Team/TeamName eq '{teamname}'  "
            &"and BoardName eq 'Stories'  "
            &"and IsCurrent eq true "
        &") "
        &"/groupby ((ColumnName,ColumnOrder)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

レポートを正しい順序で並べ替える

  1. Power BI で ColumnOrder クエリを展開し、選択しますColumnName

  2. [列ツール] を選択し、[で並べ替え] を選択しますColumnOrderPower BI 列ツールの [列で並べ替え] の選択のスクリーンショット。

  3. [モデリング] メニューを選択し、リレーションシップの管理します。 と の間 CFD.ColumnName に関係があることを確認します ColumnOrder.ColumnName。 リレーションシップが自動検出された可能性があります。

    CFD 間のリレーションシップを示すリレーションシップの管理のダイアログ。ColumnName と ColumnOrder.ColumnName。

  4. 上記で作成したレポートの [凡例] で、[凡例] に置き換えますCFD.ColumnNameColumnOrder.ColumnName

    レポートは、かんばんボードで使用されるのと同じ順序で並べ替えられた列で更新されます。

    サンプル Power BI 累積フロー積み上げ面グラフ レポートのスクリーンショット。かんばんボード列の順序で並べ替えられた列。

Note

その後削除された列に作業項目がある場合は、上記のレポートに "空白" と表示されます。