【メジャーを作成していて”スパゲティ感”を感じた人はぜひ見てほしい!】
Power BIのメジャーを作成していると、他のメジャーを作成したり、変数を使用したりしていきます
すると、一見して意味が分からなくなったり、修正が容易にできなくなったりします
そんなときはぜひこの記事で紹介するDAXクエリを使用してみてください
目次
DAXクエリを開く
Power BI Desktopを開くとモデルビューの下にDAXクエリがあります

DAXクエリの画面右は以下の画像のように、レポートビューなどの他のビューと同じような構成になっています

もし、DAXクエリの表示が無い方は以下の箇所から設定を行ってみてください
>ファイルタブ>オプションと設定>オプション>プレビュー機能
書いたメジャーを解き明かす
メジャーの結果を見る
結果を見たいメジャーの上で右クリックし、さらに「クイッククエリ」をクリックしてください

ちなみに三点リーダーからも同じことが行えます
クイッククエリをクリックしてからはいくつかの選択が行えます

メジャーの結果を見るには「評価」を選択(クリック)します

上の画像の結果の箇所に、メジャーの結果がでてきます
結果の上の「EVALUATE」の下に、結果を算出する対象のメジャーがありますが、SUMMARIZECOLUMNS関数の中に指定したメジャーがあります
これは、レポートビュー内と同様にメジャーの結果を算出するための文脈を指定するためのものと割り切って考えるとわかりやすいと思います
メジャー内で使用している変数も合わせて中身を理解する
クイッククエリから下の画像の「定義と評価」を選択すると、メジャーの中身が見れます

下の画像が「定義と評価」を選択した時の画面です

メジャー内で参照している項目合わせて中身を理解する
クイッククエリから下の画像の「参照を使用して定義し、評価する」を選択すると、メジャーの中身が更に見れます

下の画像がまさにそれです

上の画像では、RETURNのSUMX関数内で使用している[SalesAmount]の中身も見れるようになっています
そして、参照しているメジャーの結果も見れます!

これは便利ですね!!
メジャーを更新する
DAXクエリ上からメジャーを修正・更新することもできます

上記の画像では、既存のメジャーに+10を行いました
こちらの修正を正式に反映させます
下の画像のように「変更を含む・・・」を押します

これでほかの画面にも修正が反映されました

新しいメジャーを作成する
メジャーを新たに作成したとき、カードなどを使用して試してみた方もいらっしゃると思います
こちらは「クイッククエリ」の「新しいメジャーの定義」で行えます

まずDEFINEで新しいメジャーのコードを書きます

その後、EVALUATEにて書き換え処理を行います

上の黄色の箇所を2つ新しいメジャーの列名で書き換えるというわけです

これで実行を押せば、結果が表示されます
その他
メジャーの書式を整える
既存のメジャーが、わかりにくいと感じた場合は書式自体を変える方法があります

上記の画面では、1行でメジャーが書かれています
こちらを「クエリの形式設定」をクリックして複数行にします

これで、下の画像のように1行のメジャーが複数行になり、見やすく整理されました

ただし「モデルの更新:メジャーを上書きする」と表示されています
これは、実際にはこの書式の変更が反映されていないことを意味します

ですので、更新処理は確実に行っておきましょう!
ファイル内のメジャーをすべて表示する
この場合は「このモデルのすべてのメジャーを定義する」を選択してください

これですべての内容が表示されます

メジャー以外の処理1
これまではメジャーの話でした
メジャー以外の通常のテーブルの列でも「クイッククエリ」を使用できます

「列の統計情報を表示する」を選択する、該当列の数値情報が様々な角度で見れます

メジャー以外の処理2
これが何気に需要があるのでは?と思うのですが、テーブルデータをエクセルにコピーできます
これはクイッククエリにて「データプレビューの表示」を選択すると行えます

「データプレビューの表示」を行うと結果に列の内容が表示されます

そして、コピーボタンで簡単にコピーが行えます
ここで、「すべての列」はどのようにコピーしたらいいか?
と思った方もいらっしゃると思います
この場合、上位100行しかコピーできないです
<まとめ>
今回はDAXクエリを使用して、スパゲティ状態のメジャーを解き明かす方法を解説しました
エクセルとかだと、他人の作成した関数が難解だったりしますよね
Power BIの場合はDAXクエリを使えば、エクセルほど苦労しないと思います
ぜひ有効活用してみてください
コメントを残す