Power BIで複数列の平均値を計算する方法

Power BIにおいて、1列分のみの平均値の計算ならAverage関数を使えばいいのですが、複数行の平均値を計算した場合はどうすればいいのでしょうか。

 

例えば下図のデータのような場合です。

こちらはPISA(国際学力調査)が発表している国別の学力テストのスコア結果なのですが、

列:Reading_All(国語)・列:Mathematics_All(算数)・列:Science_All(理科)と科目別でスコアが分かれていて、

この3科目全ての平均スコアを計算したいといった場合です。

 

しかも、あろうことか、スペインのReading(国語)は、テストが実施されなかったからか?、空白です。

ちょっと厄介です。

 

ということで、下記手順で進めてみました。

 

※※データは下記リンクよりダウンロードいただけるので一緒にやってみましょう!※※

ファイル:PISA_Ranking_2018

 

Step1:カスタム列の追加

まずは、スペインの空白値の対応からです。

他の国は、3列の合計値÷3(科目)とすんなりいくのですが、スペインは2列の合計値÷2となり、計算方法が異なります。

 

ということで、カスタム列を新しく追加し、この「空白値」の個数をカウントします。

 

Powerクエリを開いて、「条件列」を選択します。

 

下図のように条件を作りました。

列の中に「null」がある場合、出力が1となる感じです。

 

そしてその他の2列分に関しても、同じように条件列を作ります。

合計3つのカスタム列が出来上がるというわけです。

 

Step2:メジャーの作成

メジャーは下記のように作りました。

 

Average =
VAR numerator =
CALCULATE(SUM(‘Sheet1′[Mathematics_All]) + SUM(Sheet1[Reading_All]) + SUM(Sheet1[Science_All]))
VAR denominator = 3 – ‘Sheet1′[カスタム.1] – ‘Sheet1′[カスタム.2] – ‘Sheet1′[カスタム]
Return DIVIDE(numerator, denominator)

 

・分子はCalculate関数で国語、算数、理科の3科目分の合計値を計算し変数numeratorに格納。

・分母は3科目から、空白値を減算した結果を変数denominatorに格納。

・Divide関数で、分子/分母といった感じです。

 

 

結果

結果はこんな感じ。

一応ゴリゴリだけど、計算は合ってます。

 

はい、ということで、もっと簡単な方法あればコメントで教えて下さいませ。

では、また。

 

※動画版はこちら

本サイト運営:ソフゾウ

本サイト運営:ソフゾウ

Power BIを中心にデータのビジネスへの活用方法やノウハウを伝えております。
データに基づいてビジネスを可視化したり、データ分析基盤作りの支援をしています。

サービス・メニュー

ダッシュボード・レポート構築支援

Power BIを活用したデータ分析ダッシュボードの構築・運用支援を行ってます。
経営分析やコスト分析など、業務に合わせた最適なダッシュボード設計から、導入後の活用サポートまで幅広く対応してますので、ご興味をお持ちの方はご相談ください。

ココナラでもご依頼を承っております。
>>>ココナラはこちら

データセット提供

業務や分析目的に合わせたデータセットの整備、提供を行っております。
データの前処理やクレンジング、外部のデータ(人口データ・天気データ・日付データ・緯度経度)等、データ分析で活用できる形式にてご提供いたします。
「効率的に分析できる環境を整えたい」といった課題をお持ちであれば、ご相談ください。

>>>お問い合わせはこちらから

 

 

twitteryoutubemail

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Scroll to Top