Power BI Desktop で計算列を使用するUsing calculated columns in Power BI Desktop

計算列を使うと、既にモデル内に存在するテーブルに新しいデータを追加できます。With calculated columns, you can add new data to a table already in your model. しかし、値のクエリを実行してデータ ソースから新しい列に読み込む代わりに、列の値を定義する Data Analysis Expressions (DAX) 数式を作成します。But instead of querying and loading values into your new column from a data source, you create a Data Analysis Expressions (DAX) formula that defines the column’s values. Power BI Desktop では、レポート ビューの [新しい列] 機能を使用して計算列を作成しますIn Power BI Desktop, calculated columns are created by using the New Column feature in Report View.

クエリ エディターの [カスタム列の追加] を使用してクエリの一部として作成するカスタム列とは異なり、レポート ビューまたはデータ ビューで作成する計算列は、モデルに既に読み込まれているデータに基づいて作成されます。Unlike custom columns created as part of a query by using Add Custom Column in Query Editor, calculated columns created in Report View or Data View are based on data you’ve already loaded into the model. たとえば、2 つの異なる (しかし関連する) テーブルの 2 つの異なる列の値を連結して、加算を実行したり、サブ文字列を抽出したりできます。For example, you might choose to concatenate values from two different columns in two different but related tables , perform addition, or extract sub-strings.

作成した計算列は、他のフィールドと同じように [フィールド] の一覧に表示されますが、その値が数式の結果であることを示す特別なアイコンが表示されます。Calculated columns you create appear in the Fields list just like any other field, but they’ll have a special icon showing its values are the result of a formula. 列に好きな名前を付けたり、列を他のフィールドと同じようにレポートのビジュアルに追加したりできます。You can name your columns whatever you want, and add them to a report visualization just like other fields.

計算列は、結果の計算に Data Analysis Expressions (DAX) を使用します。これは、Power BI Desktop で取り扱っているようなリレーショナル データを操作することを意図した数式言語です。Calculated columns calculate results by using Data Analysis Expressions (DAX), a formula language meant to work 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. DAX の詳細については、この記事の最後にある「詳細情報」を参照してください。To learn more about DAX, see the Learn more section at the end of this article.

DAX の数式は Excel の数式と似ています。DAX formulas are similar to Excel formulas. 実際には、DAX は Excel と同じ機能が多数あります。In fact, DAX has many of the same functions as Excel. ただし、DAX の関数は、Power BI Desktop などのレポートで、データを対話式にスライスしたりフィルターを掛けたりする操作を意図して設計されています。DAX functions, however, are meant to work over data interactively sliced or filtered in a report, like in Power BI Desktop. Excel ではテーブル内の各行に対して異なる数式を使用できますが、それとは異なり、新しい列に対して DAX 数式を作成すると、テーブル内のすべての行について結果が計算されます。Unlike Excel, where you can have a different formula for each row in a table, when you create a DAX formula for a new column, it will calculate a result for every row in the table. 列の値は必要に応じて再計算されます。たとえば、基になるデータが更新され、値が変更されたときなどです。Column values are recalculated as necessary, like when the underlying data is refreshed and values have changed.

例を見てみましょうLet’s look at an example

Jeff は Contoso 社の配送マネージャーです。Jeff is a shipping manager at Contoso. 彼は、さまざまな市区町村への出荷の数を表示するレポートを作成したいと考えています。He wants to create a report showing the number of shipments to different cities. 市区町村と都道府県ごとに異なるフィールドを持つ Geography テーブルがあります。He has a Geography table with separate fields for city and state. しかし、Jeff はレポートで同じ行の単一の値として市区町村、都道府県を表示したいと思っています。But, Jeff wants his reports to show City, State as a single value on the same row. 現時点で、Jeff の Geography テーブルには、希望に合ったフィールドがありません。Right now, Jeff’s Geography table doesn’t have the field he wants.

しかし、計算列を使用することで、Jeff は [市区町村] 列の市区町村を、[都道府県] 列の都道府県に簡単にまとめる、または連結することができます。But with a calculated column, Jeff can simply put together, or concatenate, the cities from the City column with the states from the State column.

Jeff は、Geography テーブルを右クリックした後、[新しい列] をクリックします。Jeff right clicks on the Geography table and then clicks New Column. その後、次の DAX 数式を数式バーに入力します。He then enters the following DAX formula into the formula bar:

この数式は単に、CityState という新しい列を作成し、Geography テーブルの各行で [市区町村] 列の値を取り、コンマとスペースを追加し、[都道府県] 列の値を連結します。This formula simply creates a new column named CityState, and for each row in the Geography table, it takes values from the City column, adds a comma and a space, and then concatenates values from the State column.

これで、Jeff が希望していたフィールドが作成されました。Now Jeff has the field he wants.

配送の数と一緒にこのフィールドをレポートのキャンバスに追加することができます。He can add it to his report canvas along with the number of shipments. 非常に手早く、最小限の労力で、[市区町村] フィールドと [都道府県] フィールドを作成できました。Very quickly and with minimal effort, Jeff now has a City, State field. Jeff はあらゆる種類の視覚化を追加することができます。He can add to just about any type of visualization. さらに、地図のビジュアルを作成する際、Power BI Desktop は、この新しい列の [市区町村, 都道府県] の値を読み取る方法を把握しています。Jeff even sees that when he creates a map visualization, Power BI Desktop even knows how to read the City, State values in his new column.

詳細情報Learn more

ここでは、計算列に関する概要のみを示しました。We’ve only provided a quick introduction to calculated columns here. この後は、「Power BI Desktop で計算列を作成する」チュートリアルをお読みになることをお勧めします。サンプル ファイルをダウンロードし、さまざまな列を作成する方法についてステップ バイ ステップで学ぶことができます。Be sure to see the Create calculated columns in Power BI Desktop tutorial, where you can download a sample file and get step-by-step lessons on how to create more columns.

DAX の詳細については、「Power BI Desktop での DAX の基本事項」をご覧ください。To learn more about DAX, see DAX basics in Power BI Desktop.

クエリの一部として作成する列の詳細については、「Power BI Desktop での一般的なクエリ タスク」の「カスタム列の作成」セクションをご覧ください。To learn more about columns you create as part of a query, see the Create custom columns section in Common query tasks in Power BI Desktop.