Power BI DAXの使い方(実践編12本 ) 日本の総人口データを計算

こんにちは。

 

下図は政府統計(日本人人口データ)のデータを加工して作った、1950年~2020年までの日本の人口推移データです。

●シート名:Population_加工

●今回利用する列:

・年次

・年次(exceptyear)※「年次」列の末尾の「年」の文字を除去

・総人口

※その他の列は別の分析レポート用に入れているので無視下さい。

 

そして今回はこちらのデータを使って、様々なDAX計算式を書いていこうと思います。

 

DAXのお勉強用に使ってみて下さい。

 

それでは、よーーーい、ドン。

 

※You Tubeに動画版もあるので、よろしければこちらも一緒にご覧くださいませ。

You Tube動画版はこちら

 

 

1.最大値を求める(人口)

MAX関数を使って、総人口列の中で最大値を求めていきます。

人口最大 =
MAX(‘Population_加工'[総人口])
日本の総人口は、1億2808万4,000がピークらしいです。

 

 

 

2.最大値を求める(年)

1.で人口の最大値を求めましたが、問題は「それが何年か」ということです。

そこで下記のようにDAX関数を書いてみました。

 

人口最大(年) =
CALCULATE(MAX(‘Population_加工'[年次(exceptyear)]),
FILTER(‘Population_加工’, ‘Population_加工'[総人口]=MAX(‘Population_加工'[総人口])))
日本の人口は2008年にピークを迎えたとのことです。

 

 

 

3.最大値を求める(単位付)

1.で求めた人口の最大値ですが、さすがに1億2805万という値を単位無しで表示するとなると、数えずらいです。

人は、もっとスパッと感覚的に知りたいんです(←誰)。

そこで、この値に「億」の単位を付けて表示していこうと思います。

 

人口(億人単位付) =
VAR Population =
TRUNC(DIVIDE(‘Measure'[人口最大], 100000000,0),3)
Return
Population & “億人”

 

Divide関数で人口を1億で割り、Trunc関数でその結果を小数点を2桁まで表示するよう除去し、それをVAR関数に入れて、Returnで結果に「億人」の単位を付けています…

※なんだかちょっと暗号チックになってきましたが、安心してください。これが一番難しいです

 

 

4.最小値を求める

続いて、人口の最小値を求めていきます。

MIN関数で最小の値を返します。

 

人口最小 =
MIN(‘Population_加工'[総人口])

 

1950年以降、日本の人口は8,411万4,574が最小だったとのことです。

 

5.最小値を求める(年)

4.で求めた人口の最小値ですが、問題はここでも「それが何年か」ということです。

そこで先程の最大値(年)を求めた関数を流用して作ってみました。

 

人口最小(年) =
CALCULATE(MAX(‘Population_加工'[年次(exceptyear)]),
FILTER(‘Population_加工’, ‘Population_加工'[総人口]=MIN(‘Population_加工'[総人口])))

 

変わったのは、MAX→MINになっただけです。

ということで、日本の人口は1950年が最小だったとのことです。

 

 

6.直近の人口を求める

続いて、最も直近の年(2020年)の人口を求めたいと思います。

そう、人々が知りたいのは、「今」現状どうなっているかなのです。(←誰 再掲)

 

人口直近 =
CALCULATE(MAX(‘Population_加工'[総人口]),
FILTER(‘Population_加工’, ‘Population_加工'[年次(exceptyear)]=MAX(‘Population_加工'[年次(exceptyear)])))

 

ここでも安定のCalculate関数を使っています。

そしてFilter関数で、年次が最も最大となるよう(つまり2020年になるよう)に絞り込んでいます。

 

7.昨年の人口を求める

続きまして、昨年の人口を求めていきたいと思います。

人はいつでも、「昨対比でどうなったのか」知りたいものです。

 

ということで、少しサボったバージョンの関数がこちら。

人口昨年 =
CALCULATE(MAX(‘Population_加工'[総人口]),
FILTER(‘Population_加工’, ‘Population_加工'[年次(exceptyear)]=MAX(‘Population_加工'[年次(exceptyear)])-1))

 

直近の人口のCalculate関数のFilterの年次に「-1」を加えることで、直近の年次から1年遡ったデータに絞り込んでいます。

 

そして、ちょっと真面目にやったバージョンがこちら。

人口昨年2 =
CALCULATE([人口直近], SAMEPERIODLASTYEAR(‘Population_加工'[年次]))

SAMEPERIODLASTYEAR関数を利用することで、昨年のみの結果を表示することが可能なのです。

 

 

8.昨対比の増減率を求める

昨年の人口が数値として分かったら、次は「昨対比の増減率」がどうかという点です。

人はいつでも、%(パーセント)で知りたがるものです(そろそろ、うざい…)。

 

昨年比 =
DIVIDE(‘Measure'[人口直近], ‘Measure'[人口昨年],0)-1

 

 

9.平均を求める

やはり何事もベンチマークとなるのが、「平均」でしょう。

Average関数を使えば一発で平均値が計算できます。

 

人口平均 =
AVERAGE(‘Population_加工'[総人口])

 

 

10.平均を求める(期間指定)

平均は大事ですが、期間を指定して平均を出したいケースもあるでしょう。

例えば令和以降の平均とか、平成以降の平均とか。

ということで、期間を指定して平均を求めるDAX関数がこちら。

 

人口平均(直近10年間) =
CALCULATE(AVERAGE(‘Population_加工'[総人口]),
DATESINPERIOD(‘Population_加工'[年次], MAX(‘Population_加工'[年次]), -10, YEAR))

 

 

11.中央値を求める

統計指標の中で平均と合わせて知りたいのが、そう中央値でしょう。

ということで、下記が中央値を求めるDAX関数です。MEDIANという関数を使っています。

 

人口中央値 =
MEDIAN(‘Population_加工'[総人口])

 

 

 

以上、人口データ×DAX編でした。

 

※You Tubeにこちらの動画版あります!

 

 

ソフ蔵

ソフ蔵

IT企業でデータ分析や分析基盤構築に携わってます。
主にPower BIの使い方やデータ分析のノウハウを伝えてます。
データを使って世の中やビジネスを可視化したり、データ駆動型の組織作りの支援をしています。

データ分析・可視化基盤の構築、データ活用方法、Power BIについて相談あれば下記からお問合せ下さい!!

Power BI・データ分析を学習しよう!!

Power BIレポートのテンプレートサイトはこちらです

Power BIショーケースサイト

ココナラ(Power BI)

Power BIの入門記事・記事をピックアップしましたので、こちらも参考にしてみて下さい

▶Power BIとは? 記事版 / 動画版(Power BIの概要を3分で解説!)

▶Power BIのメリット・デメリット 記事版 / 動画版

 

 

twitteryoutubemail

コメントを残す

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

CAPTCHA


Scroll to Top