計算グループを作成する
計算グループを使用すると、モデル内の既存のメジャーに適用する計算項目として DAX 式を定義できるため、作成する必要がある冗長的なメジャーの数を大幅に減らすことができます。 計算グループの詳細については、「計算グループ」を参照してください。
新しい計算グループの追加
ローカル モデルを開いたら、Power BI Desktop で [モデル] ビューに移動し、リボンの [計算グループ] ボタンを選択します。 モデル エクスプローラーをまだ使用していない場合は、[データ] ペインで [モデル] ビューを開きます。
[暗黙的なメジャーを防止] プロパティがオフになっている場合は、計算グループの作成を有効にするためのダイアログ ウィンドウが表示されます。
暗黙的なメジャーは、[レポート] ビューで、ビジュアル内の[データ] ペインから直接データ列を使用すると実行されます。 ビジュアルを使用すると、SUM、AVERAGE、MIN、MAX、またはその他の基本的な集計演算として集計でき、これが暗黙的なメジャーになります。 計算グループを作成すると、[データ] ペインのデータ列の横に合計記号が表示されなくなり、集計軸または値としてビジュアルにデータ列を直接追加できなくなるため、このような暗黙的なメジャーの作成は推奨されません。 ビジュアルで既に作成されている既存の暗黙的なメジャーは引き続き機能します。 計算項目は暗黙的なメジャーには適用しないため、[暗黙的なメジャーの防止] プロパティを有効にする必要があります。 計算項目は、メジャーまたは明示的なメジャーにのみ適用します。
メジャーまたは明示的なメジャーは、新しいメジャーを作成し、DAX 式を定義してデータ列を集計するときに実行されます。 明示的なメジャーには、DAX を使用して実行できる機能を最大限に活用して、条件付きロジックとフィルターを追加することもできます。 チュートリアル: Power BI Desktop で独自のメジャーを作成する方法について説明します。
Note
計算項目を変更したくないメジャーがある場合は、シナリオのメジャー名ごとに明示的なメジャーを無視するように計算項目を作成できます。
[はい] を選択するか、[暗黙的なメジャーの防止] プロパティを既に有効にしている場合は、計算グループが追加され、DAX 数式バーの最初の計算項目となる DAX 式の定義を開始できます。
SELECTEDMEASURE() は、計算項目で適用するメジャーのプレースホルダーとして機能する DAX 関数です。 SELECTEDMEASURE DAX 関数に関する記事を参照してください。
タイム インテリジェンスの例
Analysis Services テーブル モデルでの計算グループに関する記事には、計算グループのタイム インテリジェンスの例があり、これを使用していくつかの計算項目を設定できます。 この例は、日付別の値を使用する任意のモデルと、日付テーブルとしてマークされた Date テーブルに追加できます。または、「DAX サンプル モデル - DAX」から Adventure Works DW 2020 PBIX をダウンロードできます。
計算グループの名前を変更する
計算グループの名前を変更するには、[データ] ペインでグループをダブルクリックするか、グループを選択して [プロパティ] ペインを使用します。
計算グループの列名を変更する
計算グループの列名を変更するには、[データ] ペインでグループをダブルクリックするか、グループ列を選択して [プロパティ] ペインを使用します。 選択する列は、ビジュアルまたはスライサーで特定の計算項目を適用するために使用する列です。
計算項目の名前を変更する
最初の計算項目は SELECTEDMEASURE() として作成されたため、項目ダブルクリックするか、[プロパティ] ペインを使用して名前を変更できます。
追加の計算項目を作成する
追加の計算項目を作成するには、[計算項目] セクションまたは計算グループ自体のコンテキスト メニューを右クリックして、[新しい計算項目] を選択するか、[計算項目] セクションの [プロパティ] ペインを使用します。
すべてのタイム インテリジェンス計算項目を追加すると、計算グループは次の図のようになります。
エラーを示す赤い三角形のアイコンに注目してください。 エラーが発生するのは、DAX 式の例で DimDate という Date テーブルが使用されているためです。DAX 式を更新して「Date」という名前を使用する必要があります。 次の図は、修正前の DAX 式を示しています。
DAX 式を修正すると、エラーは消えます。
計算項目の各エラーを修正すると、赤い三角形の警告アイコンが表示されなくなります。
計算項目の並べ替えを再実行する
計算項目を任意の論理的な方法で再度並べ替えるには、[プロパティ] ペインで [計算項目] セクションを選択するか、計算項目のコンテキスト メニューを右クリックしてリスト内を上下に移動させます。
計算項目に動的書式指定文字列を追加する
計算項目では、基本的なメジャーの書式設定が既定で使用されますが、 代わりに前年比 % をパーセンテージで表示することもできます。 これを行うには、[YOY%] 計算項目を選択し、プロパティ ペインで[動的書式指定文字列] をオンにします。これにより、DAX 式を指定して書式指定文字列を作成できます。 この例では、条件付き要素は必要ないため、次の図に示すように単純に #,##0.00% と指定すれば、この計算項目が適用されたときに書式がパーセンテージに変更されます。
レポートでの計算グループの使用
レポートで新しい計算グループを使用するには、[レポート] ビューに移動し、マトリックス ビジュアルを作成して次を追加します。
- Date テーブルの [月] 列を [行]へ
- [タイム インテリジェンス] 計算グループの [時間計算] を [列] へ
- [注文] メジャーを [値] へ
Note
[注文] メジャーがモードで作成されていない場合は、別のメジャーを使用するか、リボンに移動して、この DAX 式を使用する新しいメジャーを選択できます。
Orders = DISTINCTCOUNT('Sales Order'[Sales Order])
次の図は、ビジュアルの構築を示しています。
マトリックス ビジュアルの [列] に表示されている計算項目には、各計算項目によってグループ化された [注文] メジャーが表示されます。 計算グループ列をスライサービジュアルに追加することで、個々の計算項目を複数のメジャーに適用することもできます。
メジャーでの計算項目の使用
特定のメジャーで計算項目を利用する DAX 式を使用して、新しいメジャーを作成できます。
[Orders YOY%] メジャーを作成するには、CALCULATE で計算項目を使用できます。
Orders YOY% =
CALCULATE(
[Orders],
'Time Intelligence'[Time Calculation] = "YOY%"
)
計算グループの優先順位の設定
最後に、モデルに計算グループを追加し、メジャーに適用する順序を指定する場合は、次の図に示すように、[計算グループ] セクションのプロパティ ペインで計算グループの優先順位を調整できます。
計算グループの優先順位の詳細については、Analysis Services テーブル モデルの計算グループに関する記事を参照してください。
関連するコンテンツ
以下の記事では、データ モデルと DirectQuery について詳しく説明しています。
- Power BI Desktop でモデルリング ビューを操作する
- 自動集計
- Power BI Desktop で複合モデルを使用する
- Power BI Desktop でストレージ モードを管理する
- Power BI Desktop での多対多カーディナリティのリレーションシップ
DirectQuery に関する記事: