Power BI Desktop での計算オプションの使用
Power BI には、Power BI レポートに計算を追加するための 5 つのオプションがあります。 これらの各オプションには、それぞれ利点と制限があります。 これらのオプションを理解し、最適に使用するタイミングを理解することが重要です。
Power BI での計算オプション
次の表は、Power BI で計算を追加するために使用できるオプションを示しています。
側面 | カスタム列 | 計算列 | 計算テーブル | Measure | ビジュアル計算 |
---|---|---|---|---|---|
Language | M | DAX | DAX | DAX | DAX |
計算日時 | データ更新 | データ更新 | データ更新 | オンデマンド | オンデマンド |
永続化 | 保存された結果 | 保存された結果 | 保存された結果 | 必要に応じて計算 | 必要に応じて計算 |
Context | 行 | Row | Row | Assert | ビジュアル |
格納先 | テーブル | モデル | モデル | モデル | ビジュアル |
レポートでのユーザー操作による変更 | いいえ | いいえ | 番号 | イエス | はい |
使用方法 | スライサー、フィルター、行、列 | スライサー、フィルター、行、列 | メジャー、計算列、またはビジュアル計算定義 | ビジュアルおよびビジュアル レベル フィルターの値 | ビジュアルおよびビジュアル レベル フィルターの値 |
次のセクションでは、前の表に示した各計算オプションの使用方法について詳しく説明します。
カスタム列 (Power Query)
Power Query M 数式言語を使用して、独自のカスタム列を作成できます。 DAX で計算列を作成するのと同様に、Power Query M カスタム列には次の機能と特徴があります。
- 行ごとに式を評価してテーブルを拡張する
- 静的、つまりレポートでのユーザー操作によって変更されることはありません
- データ更新の一部として計算され、その結果はモデル ファイルに格納されます。つまり、データ更新時の評価に時間がかかり、モデルのサイズが大きくなります。
カスタム列は他のテーブルの行を集計できますが、集計はデータ ソースで行われるため、計算列の方がパフォーマンスが高い可能性があります。
計算列 (DAX)
計算列では DAX を使用してテーブルの列を定義し、行ごとに式を評価してテーブルを拡張します。 計算列は静的です。つまり、レポートでのユーザー操作によって変更されることはありません。 計算列はデータ更新の一部として計算され、その結果はモデル ファイルに格納されます。つまり、計算列はデータ更新時に評価に時間がかかり、モデルのサイズが大きくなります。
計算列はモデルに格納され、Power Query のビジュアル計算や計算列 (更新時にのみ処理される) とは異なり、モデル内の他のテーブルとリレーションシップを参照できます。
計算列は、ビジュアル上のスライサー、フィルター、行、列で使用できます。
メジャー
メジャーは DAX を使用してモデルに計算を追加し、必要に応じて計算され、ユーザーがレポートで行う選択に対応します。 メジャーの結果は事前計算されず、ディスクにも格納されません。
メジャーはビジュアルまたはビジュアル レベル フィルターの値としてのみ使用できます。
計算テーブル
ほとんどの場合、外部データ ソースからモデルにデータをインポートしてテーブルを作成します。 計算テーブルを使用すると、モデルに既に読み込んだデータに基づいて新しいテーブルを追加したり、DAX を使用して新しいテーブルを作成したりできます。 計算テーブルは、計算の途中経過に最適です。必要なデータは、その場で計算されたりクエリの一部として計算されたりするのではなく、モデルの一部として格納されます。 たとえば、2 つの既存のテーブルの "和集合" または "クロス結合" を選択できます。
他のテーブルと同じように、計算テーブルには他のテーブルとのリレーションシップを設定できます。 計算テーブル列にはデータ型や書式設定があり、データ カテゴリに所属させることもできます。 列に好きな名前を付けたり、列を他のフィールドと同じようにレポートのビジュアルに追加したりできます。 計算テーブルは、データを取得するテーブルのいずれかが更新またはアップデートされると再計算されます。
ビジュアル計算
ビジュアル計算は DAX の他の計算オプションとは異なり、モデルに格納されず、ビジュアルに格納されます。 ビジュアル計算を使用すると、以前は作成するのが難しかった計算の作成が容易になり、DAX が簡素化され、メンテナンスが容易になり、パフォーマンスが向上します。
ビジュアル計算では、ビジュアル上のコンテンツのみを参照できます。 モデルにあるものはすべて、ビジュアル計算がそのモデルを参照する前にビジュアルに追加する必要があります。つまり、ビジュアル計算では、フィルター コンテキストとモデルの複雑さを気にする必要はありません。
ビジュアル計算は、計算列からのコンテキストの単純さと、メジャーからのオンデマンド計算の柔軟性を組み合わせています。 メジャーと比較すると、ビジュアル計算は詳細レベルではなく集計データに基づいて動作するため、多くの場合パフォーマンス上の利点が得られます。 ビジュアル計算はビジュアルの一部であるため、ビジュアル構造を参照でき、柔軟性が高まります。
次のステップ
次の記事は、ビジュアル計算を学習して使用する場合に役立ちます。