LoginSignup
7
7
お題は不問!Qiita Engineer Festa 2023で記事投稿!

Power BI レポートの数字の単位をスライサーで変更できるようにする (千円~百億円など)

Last updated at Posted at 2023-07-03

はじめに

2023年4月にプレビュー機能として公開された、メジャーの動的書式設定文字列を使って、スライサーの切り替えで、Power BI レポートに表示されている数字の表示単位を切り替える方法をご紹介します。

※初版では、一部の単位のみでしたが、千円~百億円まで桁数自在に設定できるよう修正しました。

どんなことができる?

この機能を利用することで、スライサーの選択で「百万円」や「億円」などを表示単位を切り替えたい場合や、国によって通貨単位を切り替えて表示したいなど、様々な条件に基づいてメジャーの書式設定を動的に設定することができます。

  • 以下例:スライサーで金額の表示単位変更

    • 左の数値(売上)が何も書式設定していない数値
    • 右の数値(売上(書式有))がスライサーの切り替えで書式が反映される数値
  • 百万円単位で表示
    image.png

  • 億円単位で表示
    image.png

使用するデータ

今回は簡単な売上データを使用します。
image.png

手順

  1. 表示単位選択用のテーブル作成
    ※ Excel などで作ったものを取り込んでも可

    • Power BI Desktop で、「ホーム」→ 「データの入力」をクリック
      image.png

    • 表示単位用のテーブルを入力
      以下のように入力 → テーブル名は「単位」
      image.png

      単位 書式 ソート順 分母
      千円 #,##0"千円", 1 1
      万円 #,##0"万円", 2 10
      十万円 #,##0"十万円", 3 100
      百万円 #,##0"百万円",, 4 1
      千万円 #,##0"千万円",, 5 10
      億円 #,##0"億円",, 6 100
      十億円 #,##0"十億円",,, 7 1
      百億円 #,##0"百億円",,, 8 10

      ※ 百万円などの書式設定に関してはこちらの記事が参考になります。
      Power BI で数字を百万単位で表示する方法

  2. メジャー作成
    暗黙のメジャーでは動的書式は設定できないので、明示的にメジャーを作成
    表示単位で設定した分母で割り算を行う (表示桁数の調整のため)

    売上(書式有) = DIVIDE(SUM('売上'[売上]), SELECTEDVALUE('単位'[分母], 1), 0)
    
  3. 作成メジャーの書式をダイナミックへ変更
    作成したメジャーを選択した状態で、「メジャーツール」→「書式」で ダイナミックを選択する
    書式に DAX を記述できるようになる
    image.png

  4. メジャーの書式をDAXで記述
    後ほど作成するスライサーの選択で書式を変更できるよう、書式の DAX 式として以下を入力

    SELECTEDVALUE ('単位'[書式])
    

    image.png
    ※ SELECTEDVALUE についてはこちら

  5. ビジュアル配置
    作成した表示単位をスライサー、数値を各ビジュアルなどで表現し配置
    (スライサーの表示順は列の並べ替えでソート順を利用して調整ください)
    ※ビジュアル配置・操作例

    • 千円
      image.png
    • 百万円
      image.png
    • 億円
      image.png

完成したサンプルファイル

当記事紹介した Tips のサンプルファイルはこちらからダウンロード可能です。

まとめ

これまでは複雑な DAX を書いたり、ブックマークでビジュアル表示を切り替えて対応していた表示単位の切り替えですが、この機能がリリースされたことによりかなり楽に実装ができるようになりました。ぜひ利用してみてください。

7
7
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
7
7