次の方法で共有


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

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

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

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

[日付テーブルとしてマーク] ダイアログ ボックスを示す、Power BI Desktop のスクリーンショット。

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

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

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

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

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

[フィールド] ペインの [日付テーブルとしてマーク] フィルター オプションを示す、Power BI Desktop のスクリーンショット。

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

[日付テーブルとしてマークする] ボタンとオプションのフィルターを示す、Power BI Desktop のスクリーンショット。

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

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

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

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

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

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

重要な注意事項を含む [日付テーブルとしてマーク] ダイアログ ボックスを示す、Power BI Desktop のスクリーンショット。

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

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

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

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

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

    [フィールド] ペインの日付フィルターを示す Power BI Desktop のスクリーンショット。

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

    [データ型] のフィルターが選択された [モデリング] タブを示す、Power BI Desktop のスクリーンショット。

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

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