Power BI Desktop で計算テーブルを作成するCreate calculated tables in Power BI Desktop

ほとんどの場合、外部データ ソースからモデルにデータをインポートしてテーブルを作成します。Most of the time, you create tables by importing data into your model from an external data source. しかし、計算テーブルを使用すると、モデルに既に読み込まれているデータに基づいて新しいテーブルを追加できます。But calculated tables let you add new tables based on data you've already loaded into the model. 値のクエリを実行してデータ ソースから新しいテーブルの列に値を読み込む代わりに、Data Analysis Expressions (DAX) 数式を作成してテーブルの値を定義します。Instead of querying and loading values into your new table's columns from a data source, you create a Data Analysis Expressions (DAX) formula to define the table's values.

DAX は、Power BI Desktop などのリレーショナル データを扱うための数式言語です。DAX is a formula language for working with relational data, like in Power BI Desktop. DAX は 200 以上の関数、演算子、およびコンストラクトを含むライブラリを提供しているため、数式を作成する際の柔軟性が非常に高く、データ分析に必要なほとんどすべての計算結果を得ることができます。DAX includes a library of over 200 functions, operators, and constructs, providing immense flexibility in creating formulas to calculate results for just about any data analysis need. 計算テーブルは、計算の途中経過に最適です。必要なデータは、その場で計算されたりクエリの一部として計算されたりするのではなく、モデルの一部として格納されます。Calculated tables are best for intermediate calculations and data you want to store as part of the model, rather than calculating on the fly or as query results. たとえば、2 つの既存のテーブルの "和集合" または "クロス結合" を選択できます。For example, you might choose to union or cross join two existing tables.

他の Power BI Desktop テーブルと同じように、計算テーブルには他のテーブルとのリレーションシップを設定できます。Just like other Power BI Desktop tables, calculated tables can have relationships with other tables. 計算テーブル列にはデータ型や書式設定があり、データ カテゴリに所属させることもできます。Calculated table columns have data types, formatting, and can belong to a data category. 列に好きな名前を付けたり、列を他のフィールドと同じようにレポートのビジュアルに追加したりできます。You can name your columns whatever you want, and add them to report visualizations just like other fields. 計算テーブルは、テーブルで DirectQuery を使用するテーブルのデータを使用しない限り、データの取り込み元のテーブルが更新されると再計算されます。DirectQuery を使用するテーブルのデータを使用している場合、テーブルには、データセットが更新されたときのみ変更が反映されます。Calculated tables are recalculated if any of the tables they pull data from are refreshed or updated, unless the table uses data from a table that uses DirectQuery; in the case with DirectQuery, the table will only reflect the changes once the dataset has been refreshed. テーブルで DirectQuery を使用する必要がある場合は、計算テーブルも DirectQuery に含めることをお勧めします。If a table needs to use DirectQuery, it's best to have the calculated table in DirectQuery as well.

計算テーブルを作成するCreate a calculated table

Power BI Desktop のレポート ビューまたはデータ ビューの [新しいテーブル] 機能を使用して計算テーブルを作成します。You create calculated tables by using the New Table feature in Report View or Data View of Power BI Desktop.

たとえば、あなたは人事担当マネージャーで、北西部の従業員のテーブルと、南西部の従業員という別のテーブルを持っているとします。For example, imagine you're a personnel manager who has a table of Northwest Employees and another table of Southwest Employees. あたなは、2 つのテーブルを結合して、西部地域の従業員という 1 つのテーブルにしたいと考えています。You want to combine the two tables into a single table called Western Region Employees.

北西部の従業員Northwest Employees

北西部の従業員の表形式データが表示されている Power BI Desktop のスクリーンショット。

南西部の従業員Southwest Employees

南西部の従業員の表形式データが表示されている Power BI Desktop のスクリーンショット。

Power BI Desktop のレポート ビューまたはデータ ビューで、 [モデリング] タブの [計算] グループで、 [新しいテーブル] を選択します。In Report View or Data View of Power BI Desktop, in the Calculations group of the Modeling tab, select New Table. データ ビューの方が、新しい計算テーブルがすぐに表示されるので、もう少し簡単に行えます。It's a bit easier to do in Data View, because then you can immediately see your new calculated table.

データ ビューの新しいテーブル

数式バーに次の式を入力します。Enter the following formula in the formula bar:

Western Region Employees = UNION('Northwest Employees', 'Southwest Employees')

西部地域の従業員という名前の新しいテーブルが作成され、 [フィールド] ペイン内の他のテーブルと同様に表示されます。A new table named Western Region Employees is created, and appears just like any other table in the Fields pane. 他のテーブルと同様に、他のテーブルとのリレーションシップを作成したり、メジャーや計算列を追加したり、フィールドをレポートに追加したりすることができます。You can create relationships to other tables, add measures and calculated columns, and add the fields to reports just like with any other table.

新しい計算テーブル

[フィールド] ペインの新しいテーブル

計算テーブル用の関数Functions for calculated tables

計算テーブルは、テーブルを返す任意の DAX 式を使って定義できます。別のテーブルを単に参照するだけでも構いません。You can define a calculated table by any DAX expression that returns a table, including a simple reference to another table. 例:For example:

New Western Region Employees = 'Western Region Employees'

この記事では、計算テーブルについて簡単に紹介するだけにします。This article provides only a quick introduction to calculated tables. DAX による計算テーブルを使うと、分析上の多くの課題を解決できます。You can use calculated tables with DAX to solve many analytical problems. 使用する可能性のある一般的な DAX テーブル関数をいくつか次に示します。Here are some of the more common DAX table functions you might use:

  • DISTINCTDISTINCT
  • VALUESVALUES
  • CROSSJOINCROSSJOIN
  • UNIONUNION
  • NATURALINNERJOINNATURALINNERJOIN
  • NATURALLEFTOUTERJOINNATURALLEFTOUTERJOIN
  • INTERSECTINTERSECT
  • CALENDARCALENDAR
  • CALENDARAUTOCALENDARAUTO

これらの関数と、テーブルを返す他の DAX 関数については、「DAX 関数リファレンス」をご覧ください。See the DAX Function Reference for these and other DAX functions that return tables.