次の方法で共有


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

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

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

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

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

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

Note

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

前提条件

サンプル クエリ

このセクションのクエリでは、ユーザー ストーリーの累積フロー データの返しがサポートされています。 これらのクエリは、時間の経過と同時に 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

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