PowerBI パラメーターで「〇〇以上〇〇以下」をする
パラメーターを使ってフィルターをかける
「Aの指標は〇〇以上、Bの指標は〇〇以下のデータが見たい」
「基準をクライアント側で調整できるようにしたい」
フィルターがあるじゃないかと説明しても、簡単に理解はしてもらえない時もある。
これをPowerBIならパラメーターで実現できた。
Excelなら「フィルターの詳細設定」あたりでできそう。
パラメーターを表(マトリックス)に使う
今回は、「 気温〇〇度以上、湿度〇〇度以下 」を
指定できる表を作ってみる。
データを用意する
日別の気温と湿度のデータを用意する。
ExcelのRAND関数で用意したので正しい季節性はない。
PowerBIに取り込んでおく。
パラメーターを作る
今回は 気温用 と 湿度用 のパラメーターを2つ作る。
モデリングのタブから、新しいパラメーターをクリックする。
すぐにポップアップが出て、初期値は以下が入力されている。
増分を10にしたり、既定値を20にしたり、好きなように設定できる。
2つ作るとフィールドにはこのように作成される。
それぞれをクリックすると数式バーには以下が表示される
パラメーター = GENERATESERIES(最小値, 最大値, 増分)
パラメーター 値 = SELECTEDVALUE('パラメーター'[パラメーター], 既定値)
「パラメーター 値」の名前を変更して使用することも可能。
「このページにスライサーを追加する」をチェックすると
レポートにスライサーが出てくる。
フィールドにおくパラメーターを変更することもできるので、
2回目以降はスライサーは新しく作らず、
書式を固めたらコピーしてフィールドを変更する方が楽だと思う。
今回は、以下のようにした。
・温度用(0~70℃までを、1℃ずつ指定できる。規定は30℃)
パラメーター 2 = GENERATESERIES(0, 100, 1)
パラメーター 値 2 = SELECTEDVALUE('パラメーター 2'[パラメーター], 50)
表(マトリックス)を作っておく
視覚化からマトリックスを選び、表示したいフィールドを追加する。
作ったパラメーターを入力できるようにする
スライサーの書式をお好みに変更して、マトリックスの近くに設置する。
説明のテキストボックスと、スライサーを2つ並べてみた。
絞り込み用のメジャーを作る
パラメーターを使ってフィルタリングできる仕組みを作る。
先ほど用意した、「パラメーター 値」と「パラメーター 値 2」を使う。
tmp_prm = IF(
AND(
sum(data[気温]) >= [パラメーター 値],
sum(data[湿度]) <= [パラメーター 値 2]/100
), --①
sum(data[気温]), --②
BLANK() --③
)
解説すると、
①AND関数で、以下を確認してBool値を取得。
・気温 が パラメーター 値 より大きいか
・湿度 が パラメーター 値 2より小さいか
②TRUEの時は「気温」を表示(湿度や、「1」を入力でもよい)
③FALSEの時はBLANK(空白)を表示
表(マトリックス)に反映させる
先ほど作った「tmp_prm」を
マトリックスのフィルターに追加し、「 空白でない 」にする。
結果
「 気温〇〇度以上、湿度〇〇度以下 」の日付が特定できるようになった。
もっといいやり方がある気がしつつも、ちょっと急いでいる人にはおすすめ。
Discussion