目次
概要(目的・背景)
データ分析において、データの分布やばらつきを視覚的に把握することは非常に重要です。特に、数値データの分布を理解するための手法として「ヒストグラム」は広く利用されています。ヒストグラムを作成することで、データの集中度や偏り、外れ値の有無などを直感的に把握することができます。しかし、MicrosoftのビジネスインテリジェンスツールであるPower BIを使用している方の中には、「Power BIにはヒストグラムの標準ビジュアルが見当たらない」と感じる方もいるかもしれません。実際、Power BIのビジュアル一覧にはヒストグラムが直接含まれていませんが、工夫することで簡単にヒストグラムを作成することが可能です。
本記事では、Power BIでのヒストグラム作成方法を詳しく解説し、そのメリットや活用シーンについてもご紹介します。
読み手(誰に向けた記事か?)
本記事は、主にデータ分析の中級者、さらにはビジネスユーザーの方々を対象としています。基本的なグラフ作成はできるものの、ヒストグラムの作成方法やその活用方法を深く理解したいと考えている中級者のデータアナリストの方々へ役立つ内容となっています。さらに、日常業務でデータ分析を行い、データの分布や傾向を把握して意思決定に活かしたいと考えているビジネスユーザーの方にとっても、ヒストグラムの活用は有効です。本記事を通じて、読者の皆さまがPower BIを使ってヒストグラムを作成し、データ分析のスキルを向上させることを目指しています。
ブログの目標設定(具体的な目標)
本記事の目標は、以下の通りです。
・ヒストグラムのメリットと活用シーンの理解:ヒストグラムを使用することで得られる利点や、具体的な活用場面を理解し、実務に応用できるようになること。
・Power BIでのヒストグラム作成手順の習得:読者が記事を読み終えた後、自身でPower BIを使用してヒストグラムを作成できるようになること。
これらの目標を達成することで、読者の皆さんがPower BIを活用して効果的なヒストグラムを作成し、データに基づいた意思決定を支援できるようになることを目指します。
方法(アプローチ・使用技術)
ヒストグラム
ヒストグラムとは、データの分布を視覚的に表現する 棒グラフです。データの範囲を 「ビン(区間)」 に分け、それぞれのビンに含まれるデータの 頻度(個数) を棒の高さで表します。

ヒストグラムの重要なポイントは、ビンの数の設定です。ビンの数が多すぎると分布が大まかになり、少なすぎるとノイズが強調されてしまうため、適切なサイズを選択することが重要です。
ビンの設定手法
ヒストグラムのビンの設定手法を4つ紹介します。

適切なビンの数を設定すると、分布のグラフには特徴が現れます。本記事は5種類のグラフについて、その特徴と分析の視点を以下にまとめます。※状況によって視点は大きく異なるため、参考レベルとしてください。

Power BIでヒストグラムを作成します。
データの取り込みを完了したPower BIファイルは下記の添付ファイルです。サンプルデータを取り込んだテーブル・ビジュアルを完了していますので、添付ファイルを操作してヒストグラムの動作イメージをご確認ください。
ヒストグラム 作成手順
1.ヒストグラム用のメジャー・テーブルを作成する。
①.まずはビンの数を設定します。新しいメジャーを選択する。

②.以下のコードを入力する。

【補足】
「スタージェスの公式」、「ルートの法則」、「20のルール」をメジャーに組み込んでいます。
2行目のコードにて、数値を変更することで、ビンの数を各公式に変更できるようにしています。
VAR temp = 1 ・・・ルートの法則
VAR temp = 2 ・・・スタージェスの公式
VAR temp = 3 ・・・20のルール
Bin_Count =
VAR temp = 1
VAR Roots = Power(Count('EmployeeWorkinghours'[WorkingHours]),1/2)
VAR Sturges = ROUNDUP(1 + LOG(DISTINCTCOUNT('EmployeeWorkinghours'[WorkingHours]), 2), 0)
VAR TwentyRule = 20
VAR Result =
IF(
temp = 1, Roots,
IF(
temp = 2, Sturges,TwentyRule
)
)
RETURN Result

③.次にビンのサイズを設定します。新しいメジャーを選択する。

④.以下のコードを入力する。
Bin_Width =
VAR MinValue = CALCULATE(MIN('EmployeeWorkinghours'[WorkingHours]), ALL('EmployeeWorkinghours'))
VAR MaxValue = CALCULATE(MAX('EmployeeWorkinghours'[WorkingHours]), ALL('EmployeeWorkinghours'))
VAR BinCount = [Bin_Count]
RETURN DIVIDE(MaxValue - MinValue, BinCount, 1)

⑤.次にbin集計用のテーブルを作成します。「テーブルツール」タブより「新しいテーブル」ボタンを押下する。

⑥.以下のコードを入力する。
Bins =
VAR MinValue = CALCULATE(MIN('EmployeeWorkinghours'[WorkingHours]), ALL('EmployeeWorkinghours'))
VAR MaxValue = CALCULATE(MAX('EmployeeWorkinghours'[WorkingHours]), ALL('EmployeeWorkinghours'))
VAR BinWidth = [Bin_Width]
VAR BinCount = [Bin_Count]
RETURN
ADDCOLUMNS(
GENERATESERIES(MinValue, MaxValue, BinWidth),
"BinLabel", [Value]
)

⑦.最後にビンの個数をカウントする設定を行います。新しいメジャーを選択する。

⑧.以下のコードを入力する。
Bin_Count_Measure =
VAR MinValue = CALCULATE(MIN('EmployeeWorkinghours'[WorkingHours]), ALL('EmployeeWorkinghours'))
VAR BinWidth = [Bin_Width]
RETURN
CALCULATE(
COUNTROWS('EmployeeWorkinghours'),
FILTER(
'EmployeeWorkinghours',
'EmployeeWorkinghours'[WorkingHours] >= SELECTEDVALUE(Bins[BinLabel]) &&
'EmployeeWorkinghours'[WorkingHours] < SELECTEDVALUE(Bins[BinLabel]) + BinWidth
)
)

2.ヒストグラムを作成します。
①.ビジュアルより集合縦棒グラフを選択します。

②.X軸とY軸に設定します。
X軸:BinLabel(メジャー)
Y軸:Bin_Count_Measure(メジャー)

以上でヒストグラムの完成です。
組織のスライサーで絞り込みを行うことで、特定の組織に対して傾向が見えます。

また、「スタージェスの公式」、「ルートの法則」、「20のルール」の設定を切り替えることで、

グラフの形状が大きく変わってくるため、データに合わせて、ビンの数(Bin_Count)は切り替えてみてください。

まとめ(結論と今後の展望)
Power BIを活用することで、データの分布を直感的に把握できるヒストグラムを簡単に作成できます。ヒストグラムは、データがどの範囲に集中しているのかを視覚的に示し、分布の偏りや外れ値の有無を明らかにするのに役立ちます。また、階級(ビン)ごとの頻度を示すことで、統計的な傾向を理解しやすくなり、より的確な分析が可能になります。データの分布を正しく把握することは、適切な意思決定につながる重要なステップです。Power BIを活用してヒストグラムを作成し、データの特性を理解することで、より精度の高い分析に貢献できますと幸いです。