Power BI Desktop で日付テーブルを設定し、使用する
Power BI Desktop は裏側で動作し、日付を表す列が自動的に識別され、ユーザーの代わりに、モデルの日付階層やその他の有効化メタデータが作成されます。 ビジュアル、テーブル、クイック メジャー、スライサーなど、レポート機能を作成するとき、内蔵されているこれらの階層を利用できます。 Power BI Desktop では、非表示テーブルを自動作成することでこのデータを生成します。その後、ユーザーは自分のレポートや DAX 式でテーブルを利用できます。
この自動で行われる動作の詳細については、「Power BI Desktop で自動の日付/時刻を適用する」の記事を参照してください。
データ アナリストの多くは、独自の日付テーブルを作成することを好みます。それには何の問題もありません。 Power BI Desktop では、モデルに日付テーブルとして使用させるテーブルを指定し、その後、そのテーブルの日付データを利用し、日付関連のビジュアル、テーブル、クイック メジャーなどを作成できます。 独自の日付テーブルを指定すると、モデルで作成した日付階層を制御し、クイック メジャーやモデルの日付テーブルを利用するその他の操作で利用できます。
独自の日付テーブルを設定する利点
Power BI のタイム インテリジェンス関数を使用するには、モデル内の日付計算について理解する必要があります。 これらの関数は、独自の日付テーブルを設定したり、自動の日付/時刻を使用したりした場合に機能します。 独自の日付テーブルを設定する必要が生じるのは、次のような状況です。
- 日付テーブルとモデル内の他のテーブルの間のリレーションシップが、Datetime とは異なるデータ型の列に基づいている。 たとえば、データ ウェアハウスなどのソースからデータを読み込む場合、通常は、日付を表す特定の列が提供されます。 これらの列 (サロゲート キーとも呼ばれます) は、多くの場合、整数として格納され、yyyymmdd として書式設定されます (たとえば、2020 年 12 月 31 日を表す 20201231 など)。 日付テーブルとモデル内の他のテーブルの間のリレーションシップでこのような列が利用される場合は、タイム インテリジェンス機能を使用するために独自の日付テーブルを設定する必要があります。
- 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 Desktop で自動の日付/時刻を適用する
- Power BI Desktop で日付テーブルを作成する
- Power BI Desktop でのデータ型
- わからないことがある場合は、 Power BI コミュニティで質問してみてください。
- Power BI チームへのご提案は、 Power BI を改善するためのアイデアをお寄せください