Power BI Desktop で日付テーブルを設定し、使用するSet and use date tables in Power BI Desktop

Power BI Desktop は裏側で動作し、日付を表す列が自動的に識別され、ユーザーの代わりに、モデルの日付階層やその他の有効化メタデータが作成されます。Power BI Desktop works behind the scenes to automatically identify columns that represent dates, and then creates date hierarchies and other enabling metadata for your model, on your behalf. ビジュアル、テーブル、クイック メジャー、スライサーなど、レポート機能を作成するとき、内蔵されているこれらの階層を利用できます。You can then use those built-in hierarchies when creating report features like visuals, tables, quick measures, slicers, and so on. Power BI Desktop では、非表示テーブルを自動作成することでこれを行います。その後、ユーザーは自分のレポートや DAX 式でテーブルを利用できます。Power BI Desktop does this by creating hidden tables on your behalf, which you can then use for your reports and DAX expressions.

この自動で行われる動作の詳細については、「Power BI Desktop の自動の日付/時刻」の記事を参照してください。For more information about this automatic behavior, read the Auto date/time in Power BI Desktop article.

データ アナリストの多くは、独自の日付テーブルを作成することを好みます。それには何の問題もありません。Many data analysts prefer to create their own date tables, which is fine. Power BI Desktop では、モデルに日付テーブルとして使用させるテーブルを指定し、その後、そのテーブルの日付データを利用し、日付関連のビジュアル、テーブル、クイック メジャーなどを作成できます。In Power BI Desktop, you can specify the table you want your model to use as its date table, and subsequently create date-related visuals, tables, quick measures, and so on, using that table's date data. 独自の日付テーブルを指定すると、モデルで作成した日付階層を制御し、クイック メジャーやモデルの日付テーブルを利用するその他の操作で利用できます。When you specify your own date table, you control the date hierarchies created in your model, and use them in quick measures and other operations that use your model's date table.

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

独自の日付テーブルを設定するSetting your own date table

日付テーブルを設定するには、 [フィールド] ウィンドウで日付テーブルとして使用するテーブルを選択し、そのテーブルを右クリックし、メニューが表示されたら、 [日付テーブルとしてマークする]、[日付テーブルとしてマークする] の順に選択します。次の画像を参考にしてください。To set a date table select the table you want to use as a date table in the Fields pane, then right-click the table and select Mark as date table > Mark as date table in the menu that appears, as shown in the following image.

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

次の画像のように、テーブルを選択し、 [モデリング] リボンから [日付テーブルとしてマークする] を選択することもできます。You can also select the table and then select Mark as Date Table from the Modeling ribbon, shown here.

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

独自の日付テーブルを指定すると、Power BI Desktop はその列とそのデータに次の検証を実行して次のことを確認します。When you specify your own date table, Power BI Desktop performs the following validations of that column and its data, to ensure that the data:

  • データに含まれる値が一意であるcontains unique values
  • データに null 値が含まれていないcontains no null values
  • データの日付値が連続している (始めから終わりまで)contains contiguous date values (from beginning to end)
  • 日付の種類が [日付/時刻] の場合、各値でタイムスタンプが同じになるif it is a Date/Time data type, it has the same timestamp across each value

独自の日付テーブルを作成するとき、2 つのシナリオが考えられます。いずれも妥当なアプローチです。There are two likely scenarios for creating your own date table, either of which is a reasonable approach:

  • 最初のシナリオは、基本的な日付テーブルと階層を使用するというものです。The first scenario is when you use a canonical, or basic date table and hierarchy. これはユーザーのデータの中で、先に説明した日付テーブルの検証基準を満たすテーブルです。This is a table in your data that meets the previously described validation criteria for a date table.

  • 2 番目のシナリオは、Analysis Services のテーブルを使用するというものです。たとえば、日付テーブルとして dim date フィールドを使用します。The second scenario is where you use a table from Analysis Services, for example, with a dim date field that you want to use as your date table.

日付テーブルを指定すると、そのテーブルのどの列が日付列か選択できます。Once you specify a date table, you can select which column in that table is the date column. 使用する列を指定するには、 [フィールド] ウィンドウでテーブルを選択し、そのテーブルを右クリックし、 [日付テーブルとしてマークする]、[日付テーブルの設定] の順に選択します。You can specify which column to use by selecting the table in the Fields pane, then right-click the table and select Mark as date table > Date table settings. 次のウィンドウが表示されます。このウィンドウで、ドロップダウン ボックスから日付テーブルとして使用する列を選択できます。The following window appears, where you can select the column to use as the date table from the drop-down box.

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

重要なことですが、独自の日付テーブルを指定するとき、Power BI Desktop は階層を自動作成しません (指定しなければ自動的にモデルに組み込まれます)。It's important to note that when you specify your own date table, Power BI Desktop does not auto-create the hierarchies that it would otherwise build into your model on your behalf. 後で日付テーブルを選択解除した場合 (手動設定の日付テーブルがなくなった場合)、Power BI Desktop は、テーブルの日付列に対して、自動作成の日付テーブルを自動的に再作成します。If you later deselect your date table (and no longer have a manually set date table), Power BI Desktop recreates the automatically created built-in date tables for you, for the date columns in the table.

これも重要なことですが、テーブルを日付テーブルとしてマークすると、Power BI Desktop によって作成された組み込みの (自動作成の) 日付テーブルが削除されます。そのような組み込みのテーブルに基づいて以前にビジュアルや DAX 式を作成した場合、それらは正しく機能しなくなります。Also important to note is that when you mark a table as a date table, the built-in (automatically created) date table that Power BI Desktop created is removed, and any visuals or DAX expressions you previously created based on those built-in tables will no longer work properly.

適切なデータ型として日付テーブルをマークするMarking your date table as the appropriate data type

独自の日付テーブルを指定するとき、データ型が正しく設定されていることを確認する必要があります。When you specify your own date table, you need to make sure the data type is properly set. たとえば、 [データ型][日付/時刻][日付] に設定します。You want to set the Data type to Date/Time or Date. これは次の手順で行います。Take the following steps to do so:

  1. [フィールド] ウィンドウから日付テーブルを選択し、必要に応じて展開し、日付として使用する列を選択します。Select your date table from the Fields pane, expand it if necessary, and then select the column to be used as the date.

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

  2. [モデリング] タブで [データ型] を選択し、ドロップダウン矢印をクリックして選択できるデータ型を表示します。On the Modeling tab, select Data type: and then click the drop-down arrow to show available data types.

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

  3. 列のデータ型を指定します。Specify the data type for your column.

次の手順Next steps

この記事に関する詳細については、次のリソースを参照してください。For more information related to this article, check out the following resources: