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 以上のプロジェクトのメンバーである必要があります。
  • Permission: 既定では、プロジェクト メンバーは 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}の下にある Area Path にマップされているすべてのチームを返します。 プロジェクトにすべてのチームを含めるには、このステートメントを省略します。

&$select=AreaSK, AreaPath

マッピング 使用するArea Path フィールドを返します。

&$expand=Teams($select=TeamName)

Area Path に関連付けられているチームを返します。

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

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

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

Teams 列を展開する

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

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

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

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

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

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

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

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

  1. Modeling メニューから、リレーションシップの管理を選択します。

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

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

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

  1. チーム フィルターを追加するページで、グラフが選択されていないことを確認し、Visualizations ペインから Slicer を選択します。

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

  2. FieldTeam.TeamNameを追加します。

スライサーの操作の詳細については、「power BI の Slicersを参照してください。