Power BI Desktop は裏側で動作し、日付を表す列が自動的に識別され、ユーザーの代わりに、モデルの日付階層やその他の有効化メタデータが作成されます。 ビジュアル、テーブル、クイック メジャー、スライサーなど、レポート機能を作成するとき、内蔵されているこれらの階層を利用できます。 Power BI Desktop では、非表示テーブルを自動作成することでこのデータを生成します。その後、ユーザーは自分のレポートや DAX 式でテーブルを利用できます。
この自動で行われる動作の詳細については、「Power BI Desktop で自動の日付/時刻を適用する」の記事を参照してください。
データ アナリストの多くは、独自の日付テーブルを作成することを好みます。それには何の問題もありません。 Power BI Desktop では、モデルに日付テーブルとして使用させるテーブルを指定し、その後、そのテーブルの日付データを利用し、日付関連のビジュアル、テーブル、クイック メジャーなどを作成できます。 独自の日付テーブルを指定すると、モデルで作成した日付階層を制御し、クイック メジャーやモデルの日付テーブルを利用するその他の操作で利用できます。
注
特定の状況を除き、Power BI で推奨されるカレンダー ベースのタイム インテリジェンスを使用する場合は、[日付テーブルとしてマーク] オプションを使用して独自の日付テーブルを識別する必要はありません。 引き続き Power BI でクラシック タイム インテリジェンス関数 を使用する場合は、日付テーブルを日付テーブルとしてマークする必要があります。
日付テーブルをマークする必要がある場合
Power BI でクラシック タイム インテリジェンス関数を使用する場合、または次のいずれかのシナリオが該当する場合は、日付テーブルをマークする必要があります。
- 日付テーブルとモデル内の他のテーブルの間のリレーションシップが、Datetime とは異なるデータ型の列に基づいている。 たとえば、データ ウェアハウスなどのソースからデータを読み込む場合、通常は、日付を表す特定の列が提供されます。 これらの列 (サロゲート キーとも呼ばれます) は、多くの場合、整数として格納され、yyyy-mm-dd (たとえば、2024 年 12 月 31 日を表す 20241231 ) として書式設定されます。 このような列を使用する日付テーブルとモデル内の他のテーブルの間にリレーションシップがある場合は、タイム インテリジェンス機能を使用するために独自の日付テーブルを設定する必要があります。
- Power BI データに基づいて Excel のピボットテーブルやピボットグラフで高度な日付フィルターを使用する場合。
独自の日付テーブルを設定する方法
日付テーブルを設定するには、[フィールド] ペインで日付テーブルとして使用するテーブルを選択し、そのテーブルを右クリックして、メニューが表示されたら、[日付テーブルとしてマークする] > [日付テーブルとしてマークする] の順に選択します。次の画像を参考にしてください。
次の画像のように、テーブルを選択し、[テーブル ツール] リボンから [日付テーブルとしてマークする] を選択することもできます。
![注] カレンダーベースのタイム インテリジェンス を使用している場合、画面の外観が異なり、リボンの [予定表] オプションを選択した後、またはテーブルの右クリック メニューを選択した後に表示される [ 日付テーブルとしてマーク ] オプション が画面に表示されます。
独自の日付テーブルを指定すると、Power BI Desktop はその列とそのデータに次の検証を実行して次のことを確認します。
- データに含まれる値が一意である。
- データに null 値が含まれていない。
- データの日付値が連続している (始めから終わりまで)。
- 日付の種類が [日付/時刻] の場合、各値でタイムスタンプが同じになる。
独自の日付テーブルを作成するとき、2 つのシナリオが考えられます。いずれも妥当なアプローチです。
最初のシナリオは、基本的な日付テーブルと階層を使用するというものです。 このシナリオではユーザーのデータの中で、先に説明した日付テーブルの検証基準を満たすテーブルを使用します。
2 番目のシナリオは、Analysis Services のテーブルを使用するというものです。たとえば、日付テーブルとして dim date フィールドを使用します。
日付テーブルを指定すると、そのテーブルのどの列が日付列か選択できます。 使用する列を指定するには、[フィールド] ウィンドウでテーブルを選択し、そのテーブルを右クリックして、[日付テーブルとしてマークする] > [日付テーブルの設定] の順に選択します。 次のウィンドウが表示されます。このウィンドウで、ドロップダウンから日付テーブルとして使用する列を選択できます。
独自の日付テーブルを指定する場合、 Power BI Desktop では、自分の代わりにモデルに組み込まれる階層は自動的に作成されません。 後で日付テーブルを選択解除した場合 (手動設定の日付テーブルがなくなった場合)、Power BI Desktop は、テーブルの日付列に対して、自動作成の日付テーブルを自動的に再作成します。
また、テーブルを日付テーブルとしてマークすると、Power BI Desktop によって組み込みの (自動作成の) 日付テーブルが削除されることにも注意してください。 また、これらの組み込みテーブルに基づいて以前に作成したビジュアルまたは DAX 式は、正常に機能しなくなりました。
適切なデータ型として日付テーブルをマークする
独自の日付テーブルを指定するとき、データ型が正しく設定されていることを確認する必要があります。 [データ型] を [日付/時刻] または [日付] に設定します。
[フィールド] ウィンドウから日付テーブルを選択し、必要に応じて展開し、日付として使用する列を選択します。
[列ツール] タブで、[データ型] を選択し、ドロップダウン矢印をクリックして、選択できるデータ型を表示します。
列のデータ型を指定します。
関連するコンテンツ
この記事に関する詳細については、次のリソースを参照してください。
- Power BI での時間ベースの計算の実装
- Power BI Desktop で自動の日付/時刻を適用する
- Power BI Desktop での日付テーブルの設計ガイダンス
- Power BI Desktop でのデータ型
- わからないことがある場合は、 Power BI コミュニティで質問してみてください。
- Power BI チームへのご提案は、 Power BI を改善するためのアイデアをお寄せください