1. 中央値(Median)とは
1.1 中央値の定義
中央値 (Median) とは、データを値の大きさ順に並べたとき、ちょうど真ん中に位置する値を指します。例えば、以下のようなデータがあるとします。
例:5, 1, 2, 8, 3
このデータを昇順に並べると、
1, 2, 3, 5, 8
5つのデータのうち3番目(ちょうど真ん中)の値が「3」であり、これが中央値となります。データ数が偶数の場合は真ん中の2つを平均した値が中央値となります。具体例として、以下の4件のデータを見てみましょう。
例:10, 2, 6, 4
昇順に並べると、
2, 4, 6, 10
真ん中の2つ(4と6)の平均は (4 + 6) / 2 = 5
なので、これが中央値です。
1.2 平均値との違い
平均値 (Average) は、全データの合計をデータ数で割った値ですが、外れ値や偏りの影響を受けやすいという特性があります。一方、中央値は外れ値に大きく左右されず、データの中心的な傾向を示します。そのため、収入分布や物価、アクセス数など、極端な値を含むデータを解析する際には、平均値よりも中央値が有効な場合がよくあります。
2. Power BIにおける中央値の基本的な取得方法
2.1 既定の集計方法の選択
Power BI Desktopでテーブルやマトリックス、グラフに数値列をドラッグ&ドロップすると、デフォルトでは「合計(SUM)」が適用される場合が多いです。しかし、ビジュアルの「値」欄でドロップダウンをクリックすると、以下のような集計方法が選択できます。
-
合計 (Sum)
-
平均 (Average)
-
中央値 (Median)
-
最小値 (Min)
-
最大値 (Max)
-
カウント (Count)
-
重複なしの数値カウント (Distinct Count) など
ここで「中央値 (Median)」を選べば、ビジュアル上で自動的に中央値が計算されるようになります。
例:テーブルビジュアルで「価格」の中央値を表示する
-
レポートビューで「テーブル」ビジュアルを配置
-
フィールドペインから「商品名」「価格」をドラッグ&ドロップ
-
テーブルの「価格」列の設定ドロップダウンから「中央値」を選ぶ
これにより、「価格」の中央値がテーブル上に表示され、商品名ごとの集計ではなく「全商品の価格の中央値」が出力されます(グループ化の単位によって結果が変わる点は後述)。
2.2 「既定の集計方法」を設定する
「モデリング」タブの「プロパティ」で各数値列の「既定の集計方法」を「中央値」に設定しておけば、ビジュアルにフィールドを追加した際に自動的に中央値が適用されるようになります。
ただし、あまり多用すると意図せずに別の計算が行われる恐れがあるため、必要に応じて設定するのがよいでしょう。
3. グループ別に中央値を計算する方法
3.1 ビジュアル上の分割
たとえば、「都道府県ごとの売上単価の中央値」や「商品カテゴリごとの重量の中央値」など、特定のカテゴリごとに中央値を表示したいシーンはよくあります。Power BIでは、ビジュアルの軸や行・列の領域にカテゴリ列を配置し、値の集計方法を「中央値」にするだけで、カテゴリごとに自動的に中央値を計算してくれます。
例:都道府県ごとの売上単価中央値(棒グラフ)
-
レポートビューで「縦棒グラフ」ビジュアルを選択
-
「軸(Axis)」に「都道府県」列を入れる
-
「値(Values)」に「売上単価」列を入れ、ドロップダウンで「中央値」を選択
-
すると、都道府県ごとに売上単価の中央値を棒グラフとして可視化可能
3.2 マトリックスビジュアルでの活用
マトリックスビジュアルを使えば、行と列の2軸でカテゴリを設定し、それぞれの交点における中央値が簡単に表示されます。
例えば「年別 × 地域別」の組み合わせで、「単価」の中央値をマトリックスに表示することができます。
4. DAXを使った中央値の計算
4.1 MEDIAN関数の概要
Power BIのDAXには、MEDIAN関数が用意されています。ただし、ExcelのMEDIANと同様に「列または数値のリスト」を引数に取る形式です。たとえば以下のような書き方をします。
MedianValue =
MEDIAN('Sales'[Price])
これは、「Sales」テーブルの「Price」列全体の中央値を返す単純なメジャーです。ただし、実際にはフィルターコンテキスト(ビジュアルの切り口)によって、その時点での「Price」の集合に対する中央値が動的に計算されます。
4.2 CALCULATEと組み合わせた例
もし特定の条件でデータを絞ってから中央値を求めたい場合、CALCULATEとMEDIANを組み合わせられます。
MedianPrice_Electronics =
CALCULATE(
MEDIAN('Sales'[Price]),
'Sales'[Category] = "Electronics"
)
このメジャーでは、すべてのコンテキストに加えてCategory = "Electronics"
のフィルターを強制適用し、該当する行の「Price」列の中央値を返します。例えば同じビジュアル内でも、どのカテゴリが選択されていても「Electronics」の中央値を常に表示したい、という場合に有用です。
4.3 FILTER関数との組み合わせ
より柔軟に条件を定義したい場合、CALCULATE内の引数としてFILTERを使うこともできます。
MedianPrice_AboveZero =
CALCULATE(
MEDIAN('Sales'[Price]),
FILTER(
'Sales',
'Sales'[Price] > 0
)
)
ここでは、Priceが正の値だけを対象にした中央値を計算しています。もし、欠損値や異常値がある場合に除外したいときにも同様のテクニックが使えます。
5. 中央値を使った高度な分析の例
5.1 箱ひげ図(Box Plot)による分布可視化
中央値の代表的な利用シーンとして、「箱ひげ図」があります。箱ひげ図は、四分位数や最小・最大値、中央値をまとめて可視化するグラフです。標準のPower BIには箱ひげ図ビジュアルは含まれていませんが、カスタムビジュアル (Box and Whisker Chart) をマーケットプレイスから取得することで利用できます。
-
箱ひげ図では、中央線(中央値)を基準に、四分位範囲 (IQR)、外れ値などを確認できるため、偏りや分布の形状を一目で把握できます。
-
業務で、顧客あたりの購入金額や製品の不良発生率などを分布で確認したい場合に便利です。
5.2 平均との比較で外れ値を特定
平均と中央値の比較を行うことで、外れ値の影響が大きいかどうかを簡易的に把握できます。
-
「AveragePrice = AVERAGE(‘Sales'[Price])」
-
「MedianPrice = MEDIAN(‘Sales'[Price])」
これら2つのメジャーを同じ視点で可視化(棒グラフやカードビジュアル)し、差が大きいほど分布が歪んでいる、外れ値が存在すると考えられます。
5.3 カテゴリ内順位・分位の分析
DAXではRANKX
関数などを使って、行ごとの値の順位を付けることができます。すると「値が中央値以上か」「上位何パーセントか」などの判定に使えます。
Rank_Price =
RANKX(
ALLSELECTED('Sales'[ProductID]),
AVERAGE('Sales'[Price])
)
たとえば、製品価格の順位付けを行い、中央値より上のものをハイライトするビジュアルを作れば、値段の高い商品と低い商品の境目を直感的に把握できます。
6. 中央値計算時の注意点とトラブルシューティング
6.1 データ量が多い場合のパフォーマンス
Power BIの「中央値」集計は、内部的にすべての対象値を取得してソートする形で処理されるため、大量の行数(数百万~数千万行)があると、計算に時間がかかることがあります。
-
対策
-
データの粒度をあらかじめ集計(アグリゲーション)しておき、行数を減らす。
-
必要に応じてDirectQueryではなくImportモードやAggregationsを活用する。
-
中央値分析が限定的なシナリオなら、あらかじめデータウェアハウスやETL段階でメディアンを計算しておくことも検討する。
-
6.2 文字列や日付列にはMEDIANを適用できない
MEDIAN関数は数値列だけに適用できます。日付列に対して中央値を求めたい場合は、日付列を数値(シリアル値)に変換した列を作るか、一時的に日数として処理する方法があります。
ただし、実務で「日付の中央値」を求めるシーンは、「いつが真ん中の日付かを知りたい」場合などに限られます。大半は日数の平均や最小、最大を使うケースが多いでしょう。
6.3 カテゴリスライサーの操作で結果が変わる
Power BIのフィルターやスライサーを操作すると、ビジュアルに適用されるフィルターコンテキストも動的に変わります。つまり、中央値メジャーもその時点のコンテキストに含まれるデータだけを対象に再計算されます。
-
思わぬ結果が出る原因:
-
同じページ上にある他のスライサーやビジュアルがクロスフィルタリングで影響を与えている。
-
カテゴリ列同士のリレーションやモデル設定が複雑になっている。
-
-
対策:
-
モデルのリレーションやフィルターの方向を確認。
-
必要なら
CALCULATE
でフィルターを固定したり、ALL
関数を使ったりして、フィルターコンテキストを制御する。
-
6.4 グループ化の粒度を理解する
「中央値」を設定したビジュアルで、集計軸(カテゴリ)が増えるほど計算が増え、可視化が煩雑になる可能性があります。特にマトリックスビジュアルで「行 × 列 × 中央値」を全部掛け合わせると、多くのグループで個別に中央値計算が走ります。
-
必要な粒度でのみ中央値を表示し、それ以外は合計や平均などの軽量な集計にする工夫も検討するとよいでしょう。
7. 実務での活用シナリオ
7.1 売上単価・利益率の分布分析
-
売上単価の中央値を指標にすると、極端に高額な商品や安価な商品に左右されにくくなる。
-
利益率が一部の商品だけ異常に高い/低い場合、平均ではなく中央値を見たほうが全体像を把握しやすい。
-
ヒストグラムや箱ひげ図を併用することで、どの程度偏りがあるかを可視化可能。
7.2 従業員給与や年収の分析
企業内の人事分析では、従業員年収や給与の中央値を見ることが多々あります。特に日本では平均よりも中央値のほうが実態に近い傾向があると言われることも多いです。
-
部署別や職種別に比較し、賃金格差の把握や人件費構成の確認に役立つ。
-
外れ値(役員クラスの高所得者など)の影響を排除して、人件費の水準を検討できる。
7.3 アクセス数や反応時間の分析
Webサイトやアプリケーションの利用状況を分析する際、1ユーザーあたりのアクセス数やサイト滞在時間などがログデータとして蓄積されます。
-
外れ値(非常に高いアクセス数を持つヘビーユーザーなど)が平均を押し上げがち。
-
中央値をみることで、大多数のユーザーの「典型的」な行動を推定しやすい。
-
回線やサーバーのレスポンス時間を分析する場合も、外れ値が大きく左右するため、中央値が有効な指標となる。
8. Power BIの可視化と組み合わせるテクニック
8.1 カードビジュアルでハイライト
特定の集計(中央値)を大きく表示したい場合、カードビジュアルを使うのが便利です。メジャーで中央値を定義してカードビジュアルの「値」にそのメジャーを割り当てれば、リアルタイムで値が更新されます。
さらに前年同期比や増減率などを別メジャーで計算し、一緒に表示すれば、キー指標としてダッシュボードで訴求できます。
8.2 カスタムツールチップで詳細な統計量を表示
Power BIではツールチップページをカスタムし、マウスオーバー時に詳細情報を表示する仕組みが作れます。そこに中央値、平均、最小、最大、標準偏差など、複数の統計指標をまとめて表示することで、1つの値だけでは分からない分布の概要を補足できます。
8.3 分位点を色分けする
条件付き書式や色分けルールを使い、データが中央値以上か以下かなどの閾値を可視化に反映することが可能です。
-
たとえば、マトリックスビジュアルでセルの背景色を「中央値より大きい場合は緑、中央値より小さい場合は赤」というように設定すれば、どのカテゴリがどの程度高い/低いかを直感的に把握できます。
9. まとめ
ここまで、Power BIでの「中央値(Median)」の扱い方について詳しく解説してきました。ポイントを振り返ると、以下のようになります。
-
基本的な操作
-
ビジュアルの「値」設定ドロップダウンで「中央値」を選ぶだけで、簡単に中央値を表示可能。
-
データカテゴリごとの中央値を見たい場合は、軸や行列にカテゴリ列を配置すれば、カテゴリ別に自動計算される。
-
-
DAXのMEDIAN関数
-
MEDIAN('Table'[Column])
でメジャーを定義すれば、フィルターコンテキストごとの中央値を動的に取得できる。 -
CALCULATE
やFILTER
と組み合わせることで、特定の条件下の中央値も柔軟に表現できる。
-
-
平均値との比較
-
平均と中央値の差分を見ると、外れ値や分布の偏りの有無を推測しやすい。
-
ビジネス指標(売上単価、年収、アクセス数など)が大きく偏っている場合は、中央値に注目することでミスリードを回避できる。
-
-
応用可視化(箱ひげ図や色分け、RANKXなど)
-
カスタムビジュアルの箱ひげ図で分布全体を把握する。
-
条件付き書式で「中央値より上/下」の色分けをする。
-
RANKX
や分位点計算を組み合わせて、更に詳細な階層分析を行う。
-
-
注意点
-
大規模データの場合は計算負荷が高くなる可能性あり → アグリゲーションや事前計算を検討。
-
Slicerやリレーションで想定外のフィルターがかかったり、小さい粒度で多数の中央値が計算されるケースではパフォーマンスや可読性に注意。
-
文字列や日付には直接適用できないため、数値に変換または別方法で処理する必要がある。
-
Excelで中央値を計算するのは馴染みがあっても、Power BIでの扱い方がいまいちピンとこない方も多いかもしれません。しかし、Power BIはビジュアルベースで簡単に集計方法を切り替えられるうえ、DAXのMEDIAN関数を使えば、平均と同様に自由度の高い計算が可能です。
特にビジネス上、平均だけでなく「真ん中の値が知りたい」「外れ値に左右されない指標を使いたい」というシーンでは、今回ご紹介した方法を活用すると、分析やレポートの説得力が一段とアップするでしょう。
10. 今後の展開
-
カスタムビジュアルの進化:箱ひげ図やマルチ軸ヒストグラムなど、統計分析向けのビジュアルが充実すれば、中央値を含む分布可視化がさらに容易になる可能性があります。
-
Power BIの更新:新しいDAX関数や機能が追加されることで、中央値や分位数の計算がより最適化・高速化される期待があります。
-
複合指標との連携:中央値だけでなく、第1四分位数(Q1) や第3四分位数(Q3)、標準偏差など他の統計値と合わせて活用することで、より深い洞察が得られるでしょう。
実務では、平均値に代わる指標として中央値を使うことで、データの本来の姿を把握しやすくなるケースが多々あります。もし現在の分析で「平均値だけだと何かしっくりこない」「外れ値に引っ張られているかも」と感じているのであれば、ぜひPower BIで中央値の活用を試してみてください。業務レポートやダッシュボードに取り入れることで、従来の分析では見落としていたインサイトを発見できるかもしれません。
弊社について:セミナーで学ぶ!DAX 関数の実践スキル
箱ひげ図をはじめ、Power BIを使いこなすうえで欠かせないのがDAX関数の知識です。DAXをしっかり学ぶことで、データの前処理から複雑な指標の算出までスムーズにこなせるようになります。そんなDAXとデータモデル設計を効率よく学習できるハンズオンセミナーを開催しています。
🔰 Power BIハンズオンセミナー初級編
-
短時間でデータモデリングの基礎を身につける
-
実務にすぐ活かせるレポート作成を実践形式で学ぶ
-
少人数制なので、つまずきポイントを都度フォロー
🚀 Power BIハンズオンセミナー中級編
-
DAX関数 × データモデル設計 の実践的なノウハウを習得
-
複雑な分析要件にも対応できる応用力を身につける
-
即戦力として業務効率アップや社内評価向上に直結
👉 詳細はこちら
DAXをしっかりマスターすると、箱ひげ図のような高度な可視化においても、必要なデータを柔軟に加工・集計できるようになります。結果的に、組織全体のデータドリブン化をリードできる存在となり、キャリアアップにも大いに役立ちます。
もし困り事があるなら、まずは無料相談を
「Power BI で箱ひげ図を使って詳細分析をしたいが、データモデルやDAX設計が複雑でわからない…」「Power Automate を併用してデータ更新フローを自動化したいが、どこから手を付ければいいのかわからない」といったお悩みをお持ちの方も多いのではないでしょうか。
私たちは、Power BIやPower AutomateなどのMicrosoft製品の導入・運用支援、およびデータ活用コンサルティングを行っています。
-
具体的な設定や開発代行
-
社内教育のための伴走型支援
-
有料プランへの移行タイミングやROIの判断支援
など、さまざまなニーズに合わせたサービスをご用意しています。まずはお気軽に「無料相談」へお申し込みください。下記のリンクからお問い合わせいただけます。
コメント