Power BI Desktop で日付テーブルを設定し、使用する

Power BI Desktop は裏側で動作し、日付を表す列が自動的に識別され、ユーザーの代わりに、モデルの日付階層やその他の有効化メタデータが作成されます。 ビジュアル、テーブル、クイック メジャー、スライサーなど、レポート機能を作成するとき、内蔵されているこれらの階層を利用できます。 Power BI Desktop では、非表示テーブルを自動作成することでこのデータを生成します。その後、ユーザーは自分のレポートや DAX 式でテーブルを利用できます。

この自動で行われる動作の詳細については、「Power BI Desktop で自動の日付/時刻を適用する」の記事を参照してください。

データ アナリストの多くは、独自の日付テーブルを作成することを好みます。それには何の問題もありません。 Power BI Desktop では、モデルに日付テーブルとして使用させるテーブルを指定し、その後、そのテーブルの日付データを利用し、日付関連のビジュアル、テーブル、クイック メジャーなどを作成できます。 独自の日付テーブルを指定すると、モデルで作成した日付階層を制御し、クイック メジャーやモデルの日付テーブルを利用するその他の操作で利用できます。

Screenshot of Power BI Desktop showing the Mark as date table dialog box.

独自の日付テーブルを設定する利点

Power BI のタイム インテリジェンス関数を使用するには、モデル内の日付計算について理解する必要があります。 これらの関数は、独自の日付テーブルを設定したり、自動の日付/時刻を使用したりした場合に機能します。 独自の日付テーブルを設定する必要が生じるのは、次のような状況です。

  • 日付テーブルとモデル内の他のテーブルの間のリレーションシップが、Datetime とは異なるデータ型の列に基づいている。 たとえば、データ ウェアハウスなどのソースからデータを読み込む場合、通常は、日付を表す特定の列が提供されます。 これらの列 (サロゲート キーとも呼ばれます) は、多くの場合、整数として格納され、yyyymmdd として書式設定されます (たとえば、2020 年 12 月 31 日を表す 20201231 など)。 日付テーブルとモデル内の他のテーブルの間のリレーションシップでこのような列が利用される場合は、タイム インテリジェンス機能を使用するために独自の日付テーブルを設定する必要があります。
  • Power BI データに基づいて Excel のピボットテーブルやピボットグラフで高度な日付フィルターを使用する場合。

独自の日付テーブルを設定する

日付テーブルを設定するには、[フィールド] ペインで日付テーブルとして使用するテーブルを選択し、そのテーブルを右クリックして、メニューが表示されたら、[日付テーブルとしてマークする] > [日付テーブルとしてマークする] の順に選択します。次の画像を参考にしてください。

Screenshot of Power BI Desktop showing Mark as date table filter options in the Fields pane.

次の画像のように、テーブルを選択し、[テーブル ツール] リボンから [日付テーブルとしてマークする] を選択することもできます。

Screenshot of Power BI Desktop showing the Mark as date table button and options filter.

独自の日付テーブルを指定すると、Power BI Desktop はその列とそのデータに次の検証を実行して次のことを確認します。

  • データに含まれる値が一意である。
  • データに null 値が含まれていない。
  • データの日付値が連続している (始めから終わりまで)。
  • 日付の種類が [日付/時刻] の場合、各値でタイムスタンプが同じになる。

独自の日付テーブルを作成するとき、2 つのシナリオが考えられます。いずれも妥当なアプローチです。

  • 最初のシナリオは、基本的な日付テーブルと階層を使用するというものです。 このシナリオではユーザーのデータの中で、先に説明した日付テーブルの検証基準を満たすテーブルを使用します。

  • 2 番目のシナリオは、Analysis Services のテーブルを使用するというものです。たとえば、日付テーブルとして dim date フィールドを使用します。

日付テーブルを指定すると、そのテーブルのどの列が日付列か選択できます。 使用する列を指定するには、[フィールド] ウィンドウでテーブルを選択し、そのテーブルを右クリックして、[日付テーブルとしてマークする] > [日付テーブルの設定] の順に選択します。 次のウィンドウが表示されます。このウィンドウで、ドロップダウンから日付テーブルとして使用する列を選択できます。

Screenshot of Power BI Desktop showing the Mark as date table dialog box with an important note.

重要なことですが、独自の日付テーブルを指定するとき、Power BI Desktop は階層を自動作成しません (指定しなければ自動的にモデルに組み込まれます)。 後で日付テーブルを選択解除した場合 (手動設定の日付テーブルがなくなった場合)、Power BI Desktop は、テーブルの日付列に対して、自動作成の日付テーブルを自動的に再作成します。

また、テーブルを日付テーブルとしてマークすると、Power BI Desktop によって組み込みの (自動作成の) 日付テーブルが削除されることにも注意してください。 また、これらの組み込みテーブルに基づいて以前に作成したビジュアルや DAX 式は正常に機能しなくなります。

適切なデータ型として日付テーブルをマークする

独自の日付テーブルを指定するとき、データ型が正しく設定されていることを確認する必要があります。 たとえば、 [データ型][日付/時刻][日付] に設定します。 これは次の手順で行います。

  1. [フィールド] ウィンドウから日付テーブルを選択し、必要に応じて展開し、日付として使用する列を選択します。

    Screenshot of Power BI Desktop showing the Date filter in the Fields pane.

  2. [列ツール] タブで、[データ型] を選択し、ドロップダウン矢印をクリックして、選択できるデータ型を表示します。

    Screenshot of Power BI Desktop showing the Modeling tab with the Data Type filter selected.

  3. 列のデータ型を指定します。

この記事に関する詳細については、次のリソースを参照してください。