バグ傾向のサンプル レポート
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
バグ傾向レポートは、チームがアクティブなバグをどの程度適切に終了しているかを確認するのに役立ちます。 この記事では、特定の状態にあるバグの数を一定期間にわたって表示する方法について説明します。 次の図は、バグの傾向レポートの例を示しています。
Note
この記事では、OData クエリを使用したサンプル レポートの概要を読み、Power BI の基本的な理解を持っていることを前提としています。
前提条件
- アクセス: 少なくとも Basic アクセス権を持つプロジェクトのメンバーである。
- 権限: 既定では、プロジェクト メンバーは Analytics にクエリを実行し、ビューを作成する権限を持ちます。
- サービスと機能の有効化と一般的なデータ追跡アクティビティに関するその他の前提条件の詳細については、「Analytics にアクセスするためのアクセス許可と前提条件」を参照してください。
サンプル クエリ
次のクエリは、傾向レポートの生成を WorkItemSnapshot
サポートするためにエンティティ セットからデータを返します。
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/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'Bug' "
&"and State ne 'Closed' "
&"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])
in
Source
置換文字列とクエリの内訳
次の文字列を実際の値に置き換えます。 置換に角かっこを {} 含めないでください。 たとえば、組織名が "Fabrikam" の場合は、 ではなく {Fabrikam}
を にFabrikam
置き換えます{organization}
。
{organization}
- 組織名{project}
- プロジェクト間クエリの場合は、チーム プロジェクト名を指定するか、"/{project}" を完全に省略します{areapath}
- エリア パス。 形式の例:Project\Level1\Level2
{startdate}
- 指定した日付以降に完了したアイテムのレポートを、次の形式で開始しますYYYY-MM-DDZ
。 たとえば、2022-04-01Z
2022 年 4 月 1 日を表します。 引用符で囲む必要はありません。
クエリの内訳
次の表では、クエリの各部分について説明します。
クエリ パーツ
説明
$apply=filter(
filter ステートメント句の開始。
WorkItemType eq 'Bug'
バグを返します。
and State ne 'Closed'
Closed 状態のバグを省略します。
and startswith(Area/AreaPath,'{areapath}')
指定した特定 のエリア パス の下にある'{areapath}'
作業項目を返します。 チーム名でフィルター処理するには、filter ステートメントを使用します Teams/any(x:x/TeamName eq '{teamname})'
。
and DateValue ge {startdate}
指定した日付以降の傾向を開始します。 例: 2021-04-01Z は 2021 年 4 月 1 日を表します。
)
Close filter()
句。
/groupby(
Start groupby()
句。
(DateValue, State, WorkItemType, Priority, Severity, Area/AreaPath, Iteration/IterationPath),
[グループ化] DateValue
、[傾向] に使用されるフィールド、およびレポートするその他のフィールド。
aggregate($count as Count)
各日付の条件に一致するバグをカウントして集計します。
)
Close groupby()
句。
Teams でフィルター処理されたバグの傾向
エリア パスではなくチーム名でバグの傾向を照会できます。
次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、OData クエリを使用したサンプル レポートの概要を参照してください。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'Bug' "
&"and State ne 'Closed' "
&"and (Teams/any(x:x/TeamName eq '{teamname}') or Teams/any(x:x/TeamName eq '{teamname}') or Teams/any(x:x/TeamName eq '{teamname}')"
&"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])
in
Source
毎週金曜日にスナップショットが表示されるバグの傾向
週単位のスナップショットを使用すると、Power BI に取り込まれるデータの量が減り、クエリのパフォーマンスが向上します。
次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、OData クエリを使用したサンプル レポートの概要を参照してください。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'Bug' "
&"and State ne 'Closed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and DateValue ge {startdate} "
&"and Date/DayName eq 'Friday' "
&") "
&"/groupby( "
&"(DateValue,State,WorkItemType,Priority,Severity,Area/AreaPath,Iteration/IterationPath,AreaSK), "
&"aggregate($count as Count) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
毎月 1 日のスナップショットを含むバグの傾向
毎月のスナップショットを使用すると、Power BI に取り込まれるデータの量が減り、クエリのパフォーマンスが向上します。
次の Power BI クエリをコピーして、[データ>の空のクエリの取得] ウィンドウに直接貼り付けます。 詳細については、OData クエリを使用したサンプル レポートの概要を参照してください。
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItemSnapshot? "
&"$apply=filter( "
&"WorkItemType eq 'Bug' "
&"and State ne 'Closed' "
&"and startswith(Area/AreaPath,'{areapath}') "
&"and DateValue ge {startdate} "
&"and Date/DayOfMonth eq 1 "
&") "
&"/groupby( "
&"(DateValue,State,WorkItemType,Priority,Severity,Area/AreaPath,Iteration/IterationPath,AreaSK), "
&"aggregate($count as Count) "
&") "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
(省略可能)クエリの名前を変更する
既定のクエリ ラベル Query1 の名前を、より意味のある名前に変更できます。 [ クエリ設定] ペインから新しい名前を入力するだけです。
Power BI で列を展開する
列をArea/AreaPath
Iteration/IterationPath
展開します。 列を展開すると、レコードが特定のフィールドにフラット化されます。 方法については、「Analytics データを変換して Power BI レポートを生成する」を参照してください。
(省略可能)フィールドの名前を変更する
列を展開したら、1 つ以上のフィールドの名前を変更できます。 たとえば、列AreaPath
Area Path
の名前を . 方法については、「列フィールドの名前を変更する」を参照してください。
クエリを閉じて変更を適用する
すべてのデータ変換が完了したら、[ホーム] メニューから [閉じる] & [適用] を選択してクエリを保存し、Power BI の [レポート] タブに戻ります。
折れ線グラフ レポートを作成する
Power BI で、[視覚化] の下にある折れ線グラフ レポートを選択します。
X 軸に " を追加
DateValue
し、 ではなくDate Hierarchy
右クリックして選択DateValue
しますDateValue
。Y 軸に追加
Count
し、右クリックしてCount
[合計] が選択されていることを確認します。[凡例] にを追加
State
します。
レポートの例が表示されます。
レポート形式のビジュアルを変更する
レポートの書式要素を変更するには、[ビジュアルの書式設定 (ペイントブラシ)] アイコンを選択し、1 つ以上の使用可能な設定を変更します。 たとえば、傾向グラフで使用される線の色を変更できます。
詳細については、「書式設定ウィンドウの概要」を参照してください。