プレビュー機能を有効
2022年9月時点で、「フィールドパラメータ」機能はまだ正式リリースでなく、プレビュー版という扱いになっています。
- リリース:2022年5月
- 機能概要:メジャーまたはディメンションを動的に変更
- 事前準備:[ファイル]→[オプションと設定]→[オプション]→「プレビュー機能] のメニューで[フィールド パラメーター] にチェックを入れる。(Microsoftのサイトから)
「Power BI Desktop」では、プレビュー機能はインタフェース上に表示されません。
使えるように「ON」にした後で、グラフ作成に使用します。

データを用意
「フィールド パラメータ」に使うデータとして、Microsoftが提供している「AdventureWorks Sales.xlsx」を選びました。
使いやすいように加工します。
「Sales_dataテーブル」(シート)と「Product_dataテーブル」(シート)を使い、製品カテゴリやサブカテゴリごとの集計値を、「フィールド パラメータ」を使って切り替えられるようにします。


「Sales_data」(シート)には売上数値は記載されていますが、製品名などが載っていないので、「Product_data」(シート)とマージさせて、「カテゴリ」「サブカテゴリ」「プロダクト名」「セールス(売上)」などを含むテーブルにしました。
- Sales Amount:売上 #ここまで「Sales_data」(シート)
- Product_data.Category:大分類/カテゴリ #ここから「Product_data」(シート)
- Product_data.subcategory:中分類/サブカテゴリ
- Product_data.Product:製品名/プロダクト名
上記が主に使うフィールドです。

データ(クエリ)のマージ
「Power Query エディター」上で、「ホーム」→「クエリーのマージ」を選び、「照合列」として「ProductKey」を選びます。


マージされた「Product_data」と記載のある項目名の右側のアイコンをクリックし、展開する(表示する)列を選びます。

この囲みの前の画像のように、「セールス(売上)」に「カテゴリ」「サブカテゴリ」「プロダクト名」などの列が加わったテーブルが作成できます。

グラフを作成
棒グラフを作成します。
「Power Query エディター」から「Power BI Desktop」本体の画面に戻り、「モデリング」→「新しいパラメーター」→「フィールド」を選びます。
切り替えに使う「カテゴリ」「サブカテゴリ」「プロダクト名」相当のフィールドを右から左の「フィールドの追加と並べ替え」エリアにドラッグします。
「パラメーター」フィールドとその「スライサー」(フィールドを切り替えるチェックボックス)が生成されます。
この「パラメーター」フィールドと「スライサー」を使います。


「可視化」パネル上で
- ビジュアルに「集合横グラフ」
- Y軸に「パラメーター」フィールド
- X軸に「Sales Amount」(売上フィールド)
と設定します。
棒グラフが描かれます。

パラメーター用の「スライサー」(グラフ右下側)のチェックを変更することでグラフが切り替わります。



左上が「Product_data.Category」(大分類)、その隣が「Product_data.subcategory」(中分類/サブカテゴリ)、左下が「Product_data.Product」(製品名)ごとの売上合計値のグラフです。
フィールド パラメータを使わない
「フィールド パラメータ」を使わないで同様のグラフを作成する手順の例です。
「Power Query エディター」で「ピボット」系の機能を使い、「Product_data.Category」「Product_data.subcategory」「Product_data.Product」の値(今回の場合文字列)を1つの列にまとめます(後述)。

「スライサー」を作成します。
ビジュアルに「スライサー」を選び「Power BI Desktop」本体の画面で、上記画面の「type」フィールドを配置します。

ビジュアルに「集合横棒グラフ」を選び、Y軸、X軸のフィールドを設定(下記画面)すれば、「フィールド パラメータ」を使用したグラフと同じものが作成できます。




先ほど(青色のグラフ)と同様に、「Product_data.Category」(大分類)、「Product_data.subcategory」(中分類/サブカテゴリ)、「Product_data.Product」(製品名)ごとの売上合計値のグラフです。
ピボット
「Power Query エディター」の画面でカテゴリ、サブカテゴリ、プロダクト名の列を選択します。
「変換」→「列のピボット解除」を実行します。


選択した列をの値(今回の場合文字列)を1つの列に統合します。
その列の左に、元のどの列からの値かがわかる情報が入る列が生成されます。