BI探検ノート

Power BI で、目標との比較(達成率)を出す方法(DIVIDE と、合計行の落とし穴)

約4分

濵口 翔長崎で、Power BI のつまずきを記録しています
目次
  1. 前提
  2. 手順
  3. 結果の読み方
  4. 合計の行の落とし穴
  5. 目標が 0 や空白のとき
  6. 公式の記載との照合
  7. この記事で確認できたこと・できていないこと
  8. 参考

確認日2026年10月23日。Power BI Desktop(日本語版、2.159.883.0)で、ダミーのデータを使って確かめました。確認できていないことは、末尾にまとめました。

売上と目標が並んでいるとき、「達成率」(売上 ÷ 目標)と「目標との差」を出したくなります。メジャーで出して、合計の行の値まで確かめました。

結論(30秒版)

  • 達成率は DIVIDE([売上合計], [目標合計]) のメジャーで出して、書式を「%」にしました。目標との差は [売上合計] - [目標合計] です。
  • 合計の行の達成率は、売上の合計 ÷ 目標の合計になりました(46,900 ÷ 45,900 = 102.18%)。
  • 月ごとの達成率を列で作って、平均すると、合計の行は 102.43% になり、ずれました。割合は、列を平均せず、合計どうしを割るメジャーにするのが、正しい形です。

前提

ダミーの月次データ(2025年1月〜12月、12行)を使いました。「月次売上」という表に、「月」「売上」と、「目標」の列があります。目標の列は、計算列で、目標 = 3500 + MONTH('月次売上'[月]) * 50 と作りました(1月 3,550、12月 4,100)。実際の仕事では、目標は、Excel や CSV から読み込みます。

手順

「新しいメジャー」で、次の4つを作ります。

売上合計 = SUM ( '月次売上'[売上] )

目標合計 = SUM ( '月次売上'[目標] )

達成率 = DIVIDE ( [売上合計], [目標合計] )

目標との差 = [売上合計] - [目標合計]

「達成率」を選んで、メジャーツールの「%」のボタンを押すと、書式が% になります。表のビジュアルに、「月」と、4つのメジャーを入れました。

結果の読み方

1月は、3,700 ÷ 3,550 = 104.23% で、差は +150。3月は、3,200 ÷ 3,650 = 87.67% で、差は −450 になりました。目標に届かなかった月は、差がマイナスになります。

合計の行は、売上 46,900、目標 45,900、達成率 102.18%、差 1,000 です。46,900 ÷ 45,900 = 1.0218 で、合っています。

合計の行の落とし穴

月ごとの達成率を、計算列で作って、平均するメジャーも作って、並べてみました。

月別達成率 = DIVIDE ( '月次売上'[売上], '月次売上'[目標] )   // 計算列

月別達成率の平均 = AVERAGE ( '月次売上'[月別達成率] )          // メジャー

表のビジュアル。列は、月、売上合計、目標合計、達成率、目標との差、月別達成率の平均。月ごとの行は、達成率と月別達成率の平均が同じ値(1月は104.23%、2月は122.22%、3月は87.67%)。合計の行は、売上合計46900、目標合計45900、達成率102.18%、目標との差1000、月別達成率の平均102.43%

月ごとの行は、どちらも同じ値です。しかし、合計の行は、達成率 102.18% と、月別達成率の平均 102.43% で、違います。月ごとの達成率を、単純に平均すると、売上の大きい月も小さい月も、同じ重さになるためです(私の読みです)。

全体の達成率は、売上の合計 ÷ 目標の合計です。だから、割合は、列で作って平均せず、合計どうしを割るメジャーにします。

目標が 0 や空白のとき

DIVIDE は、割る数が 0 や空白のとき、既定で BLANK()(空白)を返します。3つ目の引数で、代わりの値(定数)も指定できます(Microsoft Learn、確認日 2026年10月23日)。この動きは、私の画面では、確かめていません。

公式の記載との照合

Microsoft Learn(英語版)の「DIVIDE」と「DIVIDE function vs. divide operator (/)」(確認日 2026年10月23日)と、突き合わせました。

  • 構文: DIVIDE(<numerator>, <denominator> [,<alternateresult>])。この記事の形と同じです。
  • 0で割るとき: 0 で割るときに、代わりの値、または BLANK() を返す、と書かれています。
  • 使い分け: 割る数が、0 や空白になりうるときは DIVIDE を使う、割る数が定数のときは、/ を使う、と勧められています。目標は、0 や空白になりうるので、DIVIDE にしました。
  • メジャーの戻り値: メジャーでは、代わりの値を指定せず、BLANK() のままにするのが、たいてい良い設計だ、と書かれています。

この記事で確認できたこと・できていないこと

確認日: 2026年10月23日。Power BI Desktop(Windows、日本語版、2.159.883.0、未サインイン)、ダミーの月次データ12行。

確認できたこと

  • 4つのメジャーで、達成率(%)と目標との差が出たこと
  • 合計の行が、売上の合計 ÷ 目標の合計(102.18%)になること
  • 月別達成率の列を平均すると、合計の行が 102.43% になり、ずれること

確認できていないこと

  • 目標が 0 や空白の月での DIVIDE の動き(公式の記載だけ)
  • 店舗ごとなど、複数のグループがあるとき
  • 目標を、別の表(目標の表)に持って、リレーションシップでつなぐ場合
  • KPI のビジュアルや、カードでの表示
  • Power BI サービスでの動作、英語版での名称

参考

この記事で使った用語

Power BI Desktop
Windows で動く、レポートを作るためのアプリです。データの取り込みとモデルの作成、レポートの作成に向いています。

用語集をすべて見る