計算グループを作成する

計算グループを使用すると、モデル内の既存のメジャーに適用する計算項目として DAX 式を定義できるため、作成する必要がある冗長的なメジャーの数を大幅に減らすことができます。 計算グループの詳細については、「計算グループ」を参照してください。

新しい計算グループの追加

ローカル モデルを開いたら、Power BI Desktop[モデル] ビューに移動し、リボンの [計算グループ] ボタンを選択します。 モデル エクスプローラーをまだ使用していない場合は、[データ] ペインで [モデル] ビューを開きます。

Screenshot of calculation groups button in the ribbon.

[暗黙的なメジャーを防止] プロパティがオフになっている場合は、計算グループの作成を有効にするためのダイアログ ウィンドウが表示されます。

Screenshot of dialog window prompting you to enable implicit measures.

暗黙的なメジャーは、[レポート] ビューで、ビジュアル内の[データ] ペインから直接データ列を使用すると実行されます。 ビジュアルを使用すると、SUM、AVERAGE、MIN、MAX、またはその他の基本的な集計演算として集計でき、これが暗黙的なメジャーになります。 計算グループを作成すると、[データ] ペインのデータ列の横に合計記号が表示されなくなり、集計軸または値としてビジュアルにデータ列を直接追加できなくなるため、このような暗黙的なメジャーの作成は推奨されません。 ビジュアルで既に作成されている既存の暗黙的なメジャーは引き続き機能します。 計算項目は暗黙的なメジャーには適用しないため、[暗黙的なメジャーの防止] プロパティを有効にする必要があります。 計算項目は、メジャーまたは明示的なメジャーにのみ適用します。

Screenshot of Report view and creation of implicit measures.

メジャーまたは明示的なメジャーは、新しいメジャーを作成し、DAX 式を定義してデータ列を集計するときに実行されます。 明示的なメジャーには、DAX を使用して実行できる機能を最大限に活用して、条件付きロジックとフィルターを追加することもできます。 チュートリアル: Power BI Desktop で独自のメジャーを作成する方法について説明します。

Note

計算項目を変更したくないメジャーがある場合は、シナリオのメジャー名ごとに明示的なメジャーを無視するように計算項目を作成できます。

[はい] を選択するか、[暗黙的なメジャーの防止] プロパティを既に有効にしている場合は、計算グループが追加され、DAX 数式バーの最初の計算項目となる DAX 式の定義を開始できます。

SELECTEDMEASURE() は、計算項目で適用するメジャーのプレースホルダーとして機能する DAX 関数です。 SELECTEDMEASURE DAX 関数に関する記事を参照してください。

Screenshot of DAX formula bar and calculation group.

タイム インテリジェンスの例

Analysis Services テーブル モデルでの計算グループに関する記事には、計算グループのタイム インテリジェンスの例があり、これを使用していくつかの計算項目を設定できます。 この例は、日付別の値を使用する任意のモデルと、日付テーブルとしてマークされた Date テーブルに追加できます。または、「DAX サンプル モデル - DAX」から Adventure Works DW 2020 PBIX をダウンロードできます。

計算グループの名前を変更する

計算グループの名前を変更するには、[データ] ペインでグループをダブルクリックするか、グループを選択して [プロパティ] ペインを使用します。

Screenshot of how to rename a calculation group.

計算グループの列名を変更する

計算グループの列名を変更するには、[データ] ペインでグループをダブルクリックするか、グループ列を選択して [プロパティ] ペインを使用します。 選択する列は、ビジュアルまたはスライサーで特定の計算項目を適用するために使用する列です。

Screenshot of how to rename a calculation group column.

計算項目の名前を変更する

最初の計算項目は SELECTEDMEASURE() として作成されたため、項目ダブルクリックするか、[プロパティ] ペインを使用して名前を変更できます。

Screenshot of how to rename a calculation item.

追加の計算項目を作成する

追加の計算項目を作成するには、[計算項目] セクションまたは計算グループ自体のコンテキスト メニューを右クリックして、[新しい計算項目] を選択するか、[計算項目] セクションの [プロパティ] ペインを使用します。

Screenshot of how to create a new calculation item.

すべてのタイム インテリジェンス計算項目を追加すると、計算グループは次の図のようになります。

Screenshot of calculation groups once all time intelligence items have been added.

エラーを示す赤い三角形のアイコンに注目してください。 エラーが発生するのは、DAX 式の例で DimDate という Date テーブルが使用されているためです。DAX 式を更新して「Date」という名前を使用する必要があります。 次の図は、修正前の DAX 式を示しています。

Screenshot of incorrect DAX expression.

DAX 式を修正すると、エラーは消えます。

Screenshot of corrected DAX expression.

計算項目の各エラーを修正すると、赤い三角形の警告アイコンが表示されなくなります。

Screenshot of corrected DAX expressions in the calculation items area.

計算項目の並べ替えを再実行する

計算項目を任意の論理的な方法で再度並べ替えるには、[プロパティ] ペインで [計算項目] セクションを選択するか、計算項目のコンテキスト メニューを右クリックしてリスト内を上下に移動させます。

Screenshot of reordering calculation items.

計算項目に動的書式指定文字列を追加する

計算項目では、基本的なメジャーの書式設定が既定で使用されますが、 代わりに前年比 % をパーセンテージで表示することもできます。 これを行うには、[YOY%] 計算項目を選択し、プロパティ ペインで[動的書式指定文字列] をオンにします。これにより、DAX 式を指定して書式指定文字列を作成できます。 この例では、条件付き要素は必要ないため、次の図に示すように単純に #,##0.00% と指定すれば、この計算項目が適用されたときに書式がパーセンテージに変更されます。

Screenshot of changing format of underlying data items.

レポートでの計算グループの使用

レポートで新しい計算グループを使用するには、[レポート] ビューに移動し、マトリックス ビジュアルを作成して次を追加します。

  1. Date テーブルの [月] 列を [行]
  2. [タイム インテリジェンス] 計算グループの [時間計算][列]
  3. [注文] メジャーを [値]

Note

[注文] メジャーがモードで作成されていない場合は、別のメジャーを使用するか、リボンに移動して、この DAX 式を使用する新しいメジャーを選択できます。

Orders = DISTINCTCOUNT('Sales Order'[Sales Order])

次の図は、ビジュアルの構築を示しています。

Screenshot of using calculation groups in reports.

マトリックス ビジュアルの [列] に表示されている計算項目には、各計算項目によってグループ化された [注文] メジャーが表示されます。 計算グループ列スライサービジュアルに追加することで、個々の計算項目を複数のメジャーに適用することもできます。

Screenshot of applying individual calculation items to multiple measures.

メジャーでの計算項目の使用

特定のメジャーで計算項目を利用する DAX 式を使用して、新しいメジャーを作成できます。

[Orders YOY%] メジャーを作成するには、CALCULATE で計算項目を使用できます。

Orders YOY% = 
    CALCULATE(
        [Orders],
        'Time Intelligence'[Time Calculation] = "YOY%"
    )

計算グループの優先順位の設定

最後に、モデルに計算グループを追加し、メジャーに適用する順序を指定する場合は、次の図に示すように、[計算グループ] セクションのプロパティ ペインで計算グループの優先順位を調整できます。

Screenshot of setting calculation group precedence.

計算グループの優先順位の詳細については、Analysis Services テーブル モデルの計算グループに関する記事を参照してください。

以下の記事では、データ モデルと DirectQuery について詳しく説明しています。

DirectQuery に関する記事: