Power BIで日付テーブルを作成する方法 | TechRepublic

Power BIで日付テーブルを作成する方法 | TechRepublic
Sisense パワーBI
画像: Worawut/Adobe Stock

Power BIのタイムインテリジェンスの仕組みに関する専門知識がなくても、時間コンポーネントに基づいたPower BIレポートを作成できます。これは、Power BIが日付/時刻列を自動的に識別し、データに基づいて日付テーブルを構築するためです。Power BIは、ユーザーが意識していなくても、この自動日付テーブルをビジュアル、テーブル、メジャー、スライサーなどで使用します。

しかし、知識が豊富であればあるほど、より正確で迅速な結果を迅速に生成できるようになります。そのため、日付テーブルとは何か、そしてPower BIでどのように使用されるかを理解しておく必要があります。このチュートリアルでは、日付テーブルについて、そしてPower BIのデフォルトの自動日付テーブル(Power BIが内部的に作成するテーブル)がどのような場合に適切なのかを学びます。

Windows 10 64ビットシステムでPower BI Desktopを使用しています。この記事では、日付テーブルとデータ(ファクト)テーブルを「日付」と「データ」という用語で表現しますが、これら2つは混同しやすいかもしれません。

参照: 機能比較: 時間追跡ソフトウェアとシステム (TechRepublic Premium)

日付テーブルとは何ですか?

日付テーブルとは、日付とそれらの日付に関するその他のメタデータを格納するテーブルです。他のデータモデリングソフトウェアを使用する際に、「カレンダーテーブル」や「日付ディメンションテーブル」という用語を耳にしたことがあるかもしれません。

モデルに2つ以上のデータテーブルがある場合、Power BI は少なくともそのうちの1つと内部の日付テーブルとの間にリレーションシップを作成している可能性が高くなります。このリレーションシップにより、エンドユーザーは月や年などの期間ごとにデータをレポートしたり比較したりできるようになります。

日付テーブルの最も重要な用途は、データモデリングソフトウェアでデータテーブル間のリレーションシップを作成することです。例えば、売上高の予測値と実際の売上高を別々のデータテーブルに保存しているとします。日付テーブルと売上高データテーブル間のリレーションシップにより、同じレポートで両方を比較できます。

日付テーブルをご存知ない方のために説明すると、日付テーブルは、関連データセット内の日付ごとに行が1つずつある、他のテーブルと見た目は変わりません。日付テーブルの最初の列は、日付/時刻データ型の「Date」列で、データテーブルから取得した日付が格納されます。これにより、Power BI は日付テーブルに含める日付を判別します。データベース用語に詳しい方であれば、この列は各日付レコードを一意に識別するため、主キーと考えることができます。

残りの列には、各日付に関するメタデータが格納されます。各行には、日付の値の年、四半期、月、月名、通算日が表示されます(図A)。日付列とは異なり、メタデータ列は日付テーブルとデータテーブル間の1対多の関係における複数の側であるため、重複した値を保持することがあり、実際に重複することがよくあります。

図A

Power BI の日付メタデータ
図 A: メタデータは日付値に関する情報です。

日付テーブルは日時検索のパフォーマンスを向上させますが、それ以上に重要な点があります。日付テーブルがないと、Power BI の標準の時刻関数を使用できません。

Power BIの自動日付テーブルについて

自動日付/時刻機能を有効にすると、Power BI は日付テーブルを自動的に作成します。デザイナーは何もする必要がないため、便利で簡単に実装できます。この機能は、日付テーブルの作成と入力を自動的に行います。

レポートをインポートして最初から作成する場合、必要に応じて独自のテーブルを作成するまでは、自動日付テーブルが使用されます。既存のPower BIレポートを継承する場合は、自動日付テーブルが使用されているかどうかを簡単に確認できます。

  1. [ファイル] タブをクリックし、左側のペインで [オプションと設定] を選択して、[オプション] をクリックします。
  2. [現在のファイル] セクションの左側のペインで、[データのロード] をクリックします。
  3. Power BI が内部の自動日付テーブルを使用している場合は、[タイム インテリジェンス] セクションの [自動日付/時刻] オプションがオンになっています (図 B )。

図B

Power BI でデータ ロード メニューが開き、タイム インテリジェンス オプションが赤く丸で囲まれています
図 B: 自動日付/時刻オプションがオンになっている場合、Power BI は内部の自動日付テーブルを使用します。

Power BIでは、カレンダー期間を扱う場合や、モデリングのニーズがシンプルな場合は、Autoの使用を推奨しています。データの探索や、簡単なプロトタイプやアドホックモデルの作成であれば、Autoで十分な機能を発揮します。ただし、選択する際にはいくつか留意すべき点があります。

  • 日付表の年と四半期の列は暦の期間に対応しています。年は1月1日から始まり、12月31日に終わります。これは変更できません。
  • 自動日付テーブルに列を追加することはできません。
  • 四半期、月、日の列には年が含まれません。回避策としては、フィルターを常に年で開始してください。データが1年以上にわたる場合、これは設計上の重要な考慮事項です。
  • フィルターは各テーブルに固有のものです。あるテーブルに基づいて作成したフィルターを他のテーブルに適用することはできません。これは、設計者が必要に応じて各日付列にフィルターを適用する必要があるため、設計上の重要な考慮事項です。

Excelで分析機能を使用したり、Analysis Servicesのクエリデザイナーを使用したり、Power BI以外のレポートデザイナーに接続したりする必要がある場合は、自動日付テーブルを使用しないでください。Power BI以外のレポートデザイナーは本格的なレポート作成のためのもので、ほとんどのデザイナーには影響しません。

Power BI の日付テーブルは、自動テーブルであっても自分で作成したテーブルであっても、次の要件を満たしている必要があります。

  • 日付/時刻データ型の Date という名前の列が必要です。
  • 日付列には一意の値が含まれている必要があります。
  • 日付列には空白値または null 値を含めることはできません。
  • 日付列に欠落した日付を含めることはできません。日付は連続している必要があります。

自動日付テーブルを利用するか、独自の日付テーブルを作成するかを事前に決めておくことをお勧めします。Power BI は複数の日付テーブルをサポートしません。自動日付テーブルに基づいてビジュアルを構築した後、独自の日付テーブルを作成すると、Power BI は自動日付テーブルとそれに基づくすべてのビジュアルを破棄します。可能であれば、事前にこの選択を行うことをお勧めします。

レポート作成者の中には、日付テーブルがバックグラウンドで動作していることすら知らない人もいます。そのため、より複雑なデータセットを操作し、カスタム日付テーブルの効率性が必要になった場合に不利になります。

乞うご期待

簡単に言うと、日付のグループ化がシンプルな場合は、Power BI のデフォルトの自動日付テーブルを使用してください。値が欠落している場合や、その他の状況で誤った情報が返される場合は、カスタム日付テーブルを作成して少しアップグレードする必要があります。これについては、今後の記事で詳しく説明します。

Tagged: