Power BI レポートにチーム スライサーを追加する

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

多くの場合、Power BI レポートには、集計と比較のために複数のチームのデータが含まれます。 この記事では、既存の Power BI レポートにチーム スライサーを追加する方法について説明します。 チーム スライサーを使用すると、エリア パスではなく、Teams でレポート データをフィルター処理できます。

重要

チーム フィルターでは、フィルター処理する レポートで使用されるクエリに "AreaSK" フィールドが含まれている必要があります。 サンプル レポートで提供されるすべてのクエリには、既に "AreaSK" が含まれています。 独自のクエリを作成した場合は、$select句または groupby() 句で "AreaSK" が返されていることを確認します。

Note

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

前提条件

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

サンプル クエリ

Power BI レポートでチーム スライサーを使用するには、Power BI レポートに別のクエリを追加する必要があります。 次のクエリは、チームとエリア パス間のマッピングを返します。

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

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v1.0/Areas?"
        &"$filter=startswith(AreaPath,'{areapath}') "
            &"&$select=AreaSK,AreaPath "
            &"&$expand=Teams($select=TeamName) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

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

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

  • {organization} - 組織名
  • {project} - プロジェクト間クエリの場合は、チーム プロジェクト名を指定するか、"/{project}" を完全に省略します
  • {areapath} - エリア パス。 形式の例: Project\Level1\Level2

クエリの内訳

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

クエリ パーツ

説明


$filter=startswith(AreaPath, '{areapath}')

指定したエリア パス以下にマップされているすべてのチームを返します{areapath} プロジェクトにすべてのチームを含めるには、このステートメントを省略します。

&$select=AreaSK, AreaPath

マッピングに使用するエリア パス フィールドを返します。

&$expand=Teams($select=TeamName)

エリア パスに関連付けられているチームを 返します

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

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

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

Teams 列を展開する

  1. 展開ボタンを選択します。

    展開ボタンの選択を示すスクリーンショット。

  2. フラット化するフィールドを選択します。

    フラット化するフィールドを選択する方法を示すスクリーンショット。

  3. テーブルにエンティティ フィールドが含まれるようになりました。

    エンティティ フィールドが含まれるテーブルのスクリーンショット。

"AreaSK" を使用してリレーションシップを作成する

[閉じて適用] を選択し、Power BI に戻ったら、次の手順に従います。

  1. [モデリング] メニューから[リレーションシップの管理を選択します。

  2. レポート クエリと Teams クエリの間にリレーションシップを作成します。 Power BI によって自動的に検出され、関係が作成される可能性があります。 Open Bugs レポートのクエリと Teams クエリの関係の例を次に示します。

    クエリ間のリレーションシップの例を示すスクリーンショット。

既存のレポートにチーム フィルターを追加する

  1. チーム フィルターを追加するページで、グラフが選択されていないことを確認し、[視覚化] ウィンドウから [スライサー] を選択します。

    チーム スライサーの Power BI の [視覚化] と [フィールド] の選択のスクリーンショット。

  2. フィールドに追加Team.TeamNameします

スライサーの操作の詳細については、Power BI のスライサーに関するページを参照してください