仕事効率化

Power BI:カレンダーテーブルを作る方法を基本から解説

スポンサーリンク

 

この記事はこんな方におススメです
  • データ分析を始めたいが特に使うツールが決まっていない方
  • Power BIでどんなことができるか知りたい方
  • Power BIを使い始めたばかりで基本から学びたい方

▶ Power BIのインストールがまだの方は以下の投稿をご覧ください。

▶ 中間テーブルを作ってリレーションシップの設定をする方法は以下の投稿をご覧ください。

はじめに

今回はカレンダーテーブルの作り方を紹介します。前回、中間テーブルを作ってリレーションシップの設定をする方法を紹介しました。その中で中間テーブルを作る方法を紹介していますが、カレンダーのテーブルを作る場合には、専用の関数を使うとより簡単に作ることができます。基本から見ていきましょう。

カレンダーテーブルはなぜ必要か?

はじめになぜカレンダーテーブルを作る必要があるのかを確認しておきましょう。データ分析をする際に複数のテーブルを扱うことがありますね。異なるテーブル間に共通の項目があった場合に、これらを紐づけて集計することがあります。このときにカレンダーテーブルを作っておくと、まず「各テーブルの情報をカレンダーテーブルに集約することができる」次に「各テーブルでは日付の一部が欠損している場合でもカレンダーテーブルでは隙間なく日付を作ることができる」というのがカレンダーテーブルを作る理由です。

Power BIでは直接テーブル間のリレーションシップを設定することができます。1対多の形とすることが基本ですが、多対多カーディナリティのリレーションシップを設定することも可能です。但し、集計時にベースとなるテーブルを決める必要があり、ベースとしたテーブルに存在しないキーでは集計されない、という注意点があります。

カレンダーテーブルの作り方

早速カレンダーテーブルを作っていきましょう。ここではCalendarAuto関数を作った方法とCalendar関数を使った方法の2つをご紹介します。

CalendarAuto関数を使う

まず1つめはCalendarAuto関数を使う方法です。この関数はデータテーブルを自動で読み取って日付テーブルを作ってくれる優れものです。まず書式を確認しておきましょう。

CALENDARAUTO(<年度末の月>)

たったこれだけです。表示させたい年度の年度末の月を指定すると、年度初めの4月からの日付が自動で作られます。実際に確認してみましょう。

以下は2022/10/1~2022/11/30までの期間の来場者数のテーブルが読み込まれている状態です。CalendarAuto関数を使って2022年度のカレンダーマスターを作ってみることにしましょう。

カレンダーマスターの作成準備

左側の①「データ」のアイコンをクリックして「データ画面」を開きます。いま、2022/10/1~2022/11/30のデータ(②)が取り込まれています。この状態で「新しいテーブル」をクリック(③)してください。

CalendarAuto関数の設定

上記の赤枠の部分でCalendarAuto関数を使ってテーブルを定義します。テーブル名はデフォルトで「テーブル」となっているので、ここでは「カレンダーテーブル」と書き直しました。CalendarAuto関数の引数には年度末の月を指定すればよいので「3」としてEnterをクリックします。

カレンダーテーブル

すると上記のようにカレンダーテーブルが作成されます。ここでは2022年度の年度初めである2022/4/1からのデータができあがります♪

簡単ですね。2022/10/1~2022/11/30のテーブルが既にあることを自動で読み取って、2022年度のテーブルを作ってくれます。年度の考え方が3月決算だったり、9月決算、12月決算であることもあるので年度末とする「月」だけは指定する必要があります。

Calendar関数を使う

次はCalendar関数を使った方法です。Calendar関数では開始日と終了日を指定してカレンダーテーブルを作ることができます。こちらもまず書式を確認しておきましょう。

CALENDAR(<開始日>,<終了日>)

これだけでカレンダーテーブルを作ることができます。この方法であれば、年度の一部の期間だけでも自由にカレンダーテーブルをつくることができます。やってみましょう。CalendarAutoの場合と同様に「データ」画面上で「新しいテーブル」をクリックします。

Calendar関数を使ったカレンダーテーブルの作成

上記の赤枠の部分でCalendar関数を使ってテーブルを定義します。等号記号(=)の左側でテーブル名を定義します。ここでは「カレンダーテーブル2」としました。Calendar関数の開始日、終了日はDate関数を使って指定します。Date関数の書式は以下となります。

DATE(<year>, <month>, <day>)

今回は2022/10/1~2022/11/30までのカレンダーテーブルを作るので、開始日をDATE(2022,10,1)、終了日をDATE(2022,11,30)で指定しています。入力が完了したらEnterをクリックすれば完成です。

期間を指定したカレンダーテーブルの作成
スポンサーリンク

まとめ

今回はCalendarAuto関数とCalendar関数を使ってカレンダーテーブルを作る2つの方法をご紹介しました。どちらも簡単にカレンダーテーブルを作ることができました。用途に合わせて使い分けるとよいでしょう。

コメント

タイトルとURLをコピーしました