BI探検ノート

Power BI で「単価×数量」の合計がずれるときの直し方(SUMX)

約4分

濵口 翔長崎で、Power BI のつまずきを記録しています
目次
  1. 使った CSV
  2. 1. 案A: 単価の平均 × 数量の合計
  3. 2. 案B: 行ごとに掛けて、足す(SUMX)
  4. 3. 同じ表に並べる
  5. 4. 計算列でも、確かめた
  6. 数字の見え方の違い
  7. 確認していないこと

確認日2026年10月25日。Power BI Desktop(日本語版、2.159.883.0)で、ダミーの CSV(sales_agg.csv、6行: 店舗、商品コード、単価、数量、売上)を使いました。確認できていないことは、末尾にまとめました。

売上を「単価 × 数量」で出したいとき、メジャーの書き方で、数字が変わりました。実機で、2つの書き方を同じ表に並べて、確かめました。

結論(30秒版)

  • 「単価の平均 × 数量の合計」のメジャー(案A)は、店舗ごとも、合計の行も、行ごとに掛けて足した数字(案B、SUMX)と合いませんでした。合計の行は、案A が 25,500、案B が 20,700 でした。
  • 案B の 20,700 は、CSV の「売上」の列を全部足した数字(3,600 + 4,000 + 2,400 + 2,500 + 3,200 + 5,000)と、一致しました。
  • 「行ごとに掛けてから足す」ときは、SUMX(テーブル, 単価 * 数量) を使いました。計算列(単価 * 数量 の列を作って、合計する)でも、同じ 20,700 になりました。

使った CSV

sales_agg.csv(6行)です。ダミーのデータです。

店舗商品コード単価数量売上
渋谷10011,20033,600
渋谷100280054,000
新宿10011,20022,400
新宿10032,50012,500
京都100280043,200
京都10032,50025,000

1. 案A: 単価の平均 × 数量の合計

「新しいメジャー」で、次の式を入れました。

案A = AVERAGE(sales_agg[単価]) * SUM(sales_agg[数量])

数式バーに、案A = AVERAGE(sales_agg[単価]) * SUM(sales_agg[数量]) と入っている

2. 案B: 行ごとに掛けて、足す(SUMX)

案B = SUMX(sales_agg, sales_agg[単価] * sales_agg[数量])

数式バーに、案B = SUMX(sales_agg, sales_agg[単価] * sales_agg[数量]) と入っている

3. 同じ表に並べる

店舗、数量の合計、案A、案B を、1つの表に入れました。

店舗ごとの表。京都は案A 9,900.00、案B 8200。渋谷は 8,000.00 と 7600。新宿は 5,550.00 と 4900。合計は 17、25,500.00、20700

店舗数量の合計案A案B
京都69,9008,200
渋谷88,0007,600
新宿35,5504,900
合計1725,50020,700

案A は、店舗ごとの「単価の平均」に、その店舗の数量の合計を掛けた数字になっています。たとえば京都は、単価 800 と 2,500 の平均 1,650 に、数量 6 を掛けて 9,900 です。実際の売上は、800 × 4 + 2,500 × 2 = 8,200 で、案B と同じです。合計の行も、全部の単価の平均(1,500)に 17 を掛けた 25,500 で、20,700 とは、ずれました。

4. 計算列でも、確かめた

「テーブル ツール」の「新しい列」で、行ごとに掛ける列を作りました。

金額列 = sales_agg[単価] * sales_agg[数量]

数式バーに、金額列 = sales_agg[単価] * sales_agg[数量] と入っている

この列を、同じ表に入れました(自動で「金額列 の合計」になります)。

案A、案B と並べた表。金額列の合計は、京都 8200、渋谷 7600、新宿 4900、合計 20700 で、案B と同じ

店舗ごとも、合計の行も、案B(SUMX)と同じ数字になりました(8200、7600、4900、20700)。

数字の見え方の違い

案A の数字には、「9,900.00」のように小数点以下が付きました。案B は、「8200」のように、桁区切りも小数点もない見え方でした(書式は、メジャーごとに、自動で決まったようです。理由は確かめていません)。

確認していないこと

  • 計算列と SUMX の、使い分け(どちらを選ぶべきか)や、データが大きいときの違いは、確かめていません。
  • 「単価の平均」を、数量で重みを付けた平均(加重平均)にする書き方は、試していません。
  • 店舗ごとに単価が1つだけのデータでは、案A と案B が一致するかは、確かめていません。
  • 行が何千行もあるデータでの、速さの違いは、確かめていません。