累積フロー図 (CFD) サンプル レポート
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
この記事では、指定したチームのストーリー CFD を表示する方法について説明します。 このデータは、組み込みのグラフとダッシュボード ウィジェットでも使用できます。 これらのオプションの詳細については、「累積フロー ダイアグラムの表示と構成」を参照してください。
次の図に、リサーチ、コミット済み、進行中、レビュー中の状態のユーザー ストーリーの数を示す例を示します。 日付をポイントすると、その日付のデータに関する情報が表示されます。
累積フローの詳細については、「累積フロー、 リード タイム、サイクル時間のガイダンス 」および 「累積フロー、リード タイム、およびサイクル時間のガイダンス」を参照してください。
Note
この記事では、OData クエリを使用したサンプル レポートの概要を読み、Power BI の基本的な理解を持っていることを前提としています。
前提条件
- アクセス: 少なくとも Basic アクセス権を持つプロジェクトのメンバーである。
- 権限: 既定では、プロジェクト メンバーは Analytics にクエリを実行し、ビューを作成する権限を持ちます。
- サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件の詳細については、「Analytics にアクセスするためのアクセス許可と前提条件」を参照してください。
サンプル クエリ
このセクションのクエリでは、ユーザー ストーリーの累積フロー データの返しがサポートされています。 これらのクエリは、時間の経過と同時に WorkItemBoardSnapshot
ボードに対して計算されたデータを返すエンティティ セットを指定します。
Note
フィルターまたはレポートの目的で使用できるプロパティを確認するには、「Azure Boardsのメタデータ リファレンス」を参照してください。 クエリをフィルター処理したり、 で使用可能な または 値のProperty
下EntityType
NavigationPropertyBinding Path
の値のいずれかを使用してプロパティをEntitySet
返したりできます。 各 は EntitySet
に EntityType
対応します。 各値のデータ型の詳細については、対応する 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 Query エディターの列を展開する
Power Query エディターから、変換するデータを含むクエリを選択します。 CFD グラフの場合は、列 、、Iteration
およびAssignedTo
列をArea
展開する必要があります。 方法については、「Analytics データを変換して Power BI レポートを 生成する」の「列を展開する」の次のセクションを参照してください。
(省略可能)フィールドの名前を変更する
列を展開したら、1 つ以上のフィールドの名前を変更できます。 たとえば、列AreaPath
Area Path
の名前を . 方法については、「列フィールドの名前を変更する」を参照してください。
クエリを閉じて変更を適用する
すべてのデータ変換が完了したら、[ホーム] メニューから [閉じる] & [適用] を選択してクエリを保存し、Power BI の [レポート] タブに戻ります。
積み上げ面グラフを作成する
次の例では、クエリの名前は CFD に変更されましたが、列の名前は変更されませんでした。
Power BI で、[視覚化] の [積み上げ面グラフ] を選択します。
[軸] に追加
DateValue
し、右クリックDateValue
して選択DateValue
Date Hierarchy
します。値に追加
Count
します。[凡例] にを追加
ColumnName
します。[フィルター] ウィンドウで、グラフに表示する値のみを展開
ColumnName
して選択します。 たとえば、[新規]、[提案済み]、[完了]、または [終了] の選択を解除できます。
このレポートの例では、列がアルファベット順に表示されます。 ただし、推奨される順序は、列の順序またはプログレッシブ順序に従ってデータを並べ替える方法です。
列を順に並べ替える
ボード上の特定の順序でグラフの列を並べ替えるには、次の手順を実行します。
- 次のクエリに従って、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
レポートを正しい順序で並べ替える
Power BI で ColumnOrder クエリを展開し、選択します
ColumnName
。[列ツール] を選択し、[列で並べ替え] を選択します
ColumnOrder
。[モデリング] メニューを選択し、リレーションシップの管理します。 と の間
CFD.ColumnName
に関係があることを確認しますColumnOrder.ColumnName
。 リレーションシップが自動検出された可能性があります。上記で作成したレポートの [凡例] で、[凡例] に置き換えます
CFD.ColumnName
ColumnOrder.ColumnName
。レポートは、ボードで使用されるのと同じ順序で並べ替えられた列で更新されます。
Note
その後削除された列に作業項目がある場合は、上記のレポートに "空白" と表示されます。