6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NEXTSCAPEAdvent Calendar 2024

Day 15

Power BI "パラメーター" 解説

Last updated at Posted at 2024-12-15

この記事は「NEXTSCAPE Advent Calendar 2024」の15日目の記事です。

Azureビジネス部 堀越です。
弊社 Power BI 担当として頑張っています。

Power BI には"パラメーター"と呼ばれる機能が大きく2つあります。
「クエリパラメーター」「フィールドパラメーター」 です。
今回は使い分けができることをめざしたざっくり解説をします。

①クエリパラメーター

Power Query エディタ内(M言語記述)で利用できる任意の値を持たせることができます。
公式Doc上では「(ただの)パラメーター 」として記載されていることもあります。

Power BI Service に発行後、
セマンティックモデルの設定画面からパラメーター値を変更できる ところがポイントです。
image.png

作成方法

Power BI Desktop > 「ホームタブ」 > 「データの変換」で Query エディタウィンドウを開く >
「ホーム」タブ > 「パラメーターの管理」 もしくは 「新しいパラメーター」
image.png

image.png

種類

Power BI の型の種類
image.png

提案された値

パラメーター値の種類
image.png

  • 任意の値:自由入力
  • 値の一覧:リスト(ここで作成、Excelからコピペ可能)から値を選択
  • クエリ:リスト形式の別のクエリから値を選択

備考

Power BI Desktop > 「ホーム」タブ > 「データの変換」ドロップダウン > 「パラメーターの編集」もありますが、こちらは作成したクエリパラメーターの値を変更するための機能です
image.png

image.png

利用パターン_1 データセット作成時の設定管理

レポート作成者や編集者のみが管理を行う、データ取得やクレンジングにて利用します。
Power BI Service に発行後も設定画面から値の確認や変更が行えるので便利です。
※後述の動的Mクエリパラメーターとして使う場合は除く

  • データ取得時の接続情報
  • 開始日・終了日による期間指定
  • クレンジングに利用したい変更可能性のある定数(フィルターの値) など

利用パターン_2 動的Mクエリパラメーター

Direct Query を利用する場合は、 クエリパラメーターをレポート画面上のスライサーと連動させ、閲覧者にもパラメーター値の変更を行わせることができます。

利用パターン_3 カスタム関数

クエリ内で複数回同じ処理を繰り返したい場合、その処理をカスタム関数化することで、他のクエリから呼び出しを行うことができます。
カスタム関数へ渡す値をパラメーターで指定します。

例:ファイルの結合時に自動的に作られるカスタム関数とパラメーター

カスタム関数「ファイルの変換」

csvファイルを読み込むクエリをカスタム関数化したもの。
image.png

パラメーター「パラメーター1」

読み込む対象のBinaryデータを指定。
image.png

カスタム関数の呼び出しステップ

パラメーターとしてクエリ内のContent列を指定することで複数ファイルを同時に読み込むことができるつくり。
image.png

クエリパラメーター参考記事

クエリパラメーターについては、
@spumoniさんの記事「(Power BI) Mから始めよう #8 〜クエリ・パラメータの各種使い方」により詳しく書いてくださっています。

②フィールドパラメーター

レポート画面側でメジャーやビジュアルに使用できる任意の値を持たせることができます。

作成方法

Power BI Desktop > 「モデリング」タブ > 「新しいパラメーター」
image.png

データとして追加されます。
image.png

モデリングタブにも同様。
※基本的にはパラメーターはリレーションシップは貼らず、必要がある場合はDAX関数の記述の中で指定するものだと理解しています
image.png

②-1 フィールドパラメーターを"数値範囲"で作成

最小と最大を定めた数値のリストのパラメーターを作成します。

image.png

データ型選択

image.png

スライサー追加

「このページにスライサーを追加」にチェックを入れておくとスライサーを追加してくれる
見た目は書式タブから変更可能
image.png

作成結果

image.png

②フィールドパラメーター1 = GENERATESERIES(1, 20, 1)
②フィールドパラメーター1 の値 = SELECTEDVALUE('②フィールドパラメーター1'[②フィールドパラメーター1])

フィールドパラメーター"数値範囲"例①

公式Docでは割引率をパラメーターとして作成することで、閲覧者が任意の割引率で可視化を行えるようにしています。

image.png

フィールドパラメーター"数値範囲"例②

X軸が年月、Y軸が売上高の棒グラフで当年度と前年度の売上高を表示したい。
通常通りカレンダーマスタの年度をスライサーに設定し、当年度集計用のメジャーと前年度集計用のメジャーを設定する場合
X軸は選択年度のみが表示されるが、(左の棒グラフ)
前年度と選択年度でX軸を分けたい。(右の棒グラフ)

image.png

1.年度パラメーターを作成

image.png

  • 年度パラメーター
    • パラメーター作成画面では設定値にメジャーは入れられないので、数式バーにて修正。
年度パラメーター = GENERATESERIES(2022, [#currentYYYY], 1)
  • 年度パラメーターの値
    • パラメーター作成時に自動的に作られる。選択されているパラメーター値を取得する。
年度パラメーター の値 = SELECTEDVALUE('年度パラメーター'[年度パラメーター])
  • 表示用年度パラメーター の作成。スライサー設定用。
表示用年度パラメーター = [年度パラメーター] & "年度"

2.選択年度と前年度の累計金額を出力するメジャーを作成してグラフのY軸に設定。

年度パラメーターを FIRTER 関数に入れた CALCULATE 関数

#累計金額_当年度と前年度 = 
VAR selectedPramYYYY = [年度パラメーター の値]
RETURN
    CALCULATE(
        [#累計金額],
        FILTER(
            'カレンダーマスタ',
            OR(
            'カレンダーマスタ'[年度_YYYY] = selectedPramYYYY-1,
            'カレンダーマスタ'[年度_YYYY] = selectedPramYYYY
            )
        )
    )

②-2 フィールドパラメーターを"フィールド"で作成

"フィールドに格納されている値"ではなく"フィールドそのもの"の切り替えを行うためのパラメーターを作成します。

image.png

予実区分マスタから「予実区分名」フィールドを追加
image.png

利益区分マスタから「利益区分名マスタ」フィールドを追加
image.png

スライサー追加

「このページにスライサーを追加」にチェックを入れておくとスライサーを追加してくれる
image.png

作成結果

image.png

image.png

フィールドパラメーター"フィールド"利用例①

公式DocではグラフのY軸を同じテーブル内の複数のフィールドに切り替えられる例を載せています。

image.png

image.png

フィールドパラメーター"フィールド"利用例②

グラフのX軸を異なるテーブルのフィールド間で切り替える例です
image.png

作成したフィールドパラメーターを棒グラフのX軸に設定します
image.png

フィールドパラメーターのスライサーで棒グラフのX軸を切り替えることができます
image.pngimage.png

フィールドパラメーター参考記事

フィールドパラメーターについては、Fabric CAT さんがブログ「テクテク日記」で丁寧に解説してくださっています。

雑感

フィールドパラメーターができる前、数値範囲の場合は
「パラメーター値のリストとしてのテーブル」「選択値を取得するSelectedValueメジャー」を自前で作成してパラメーターとして使っていました。

(その際 @PowerBIxyz (Takeshi Kagata) さんのこちらの記事を大いに参考にさせていただきました)

今もこの方法は使えますが、データタブのアイコンで「パラメーターだよ!」というのがわかるし、
「フィールドのフィールドパラメーター」はレポートの作り方がかなり広がったなあと思います。

image.png

終わりです。誰かのお役に立てれば幸いです。来年のわたしとか。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?