Power Pivot の集計列

適用先
Excel for Microsoft 365 Excel 2024 Excel 2021

集計列では、データ モデルのテーブルに派生データを追加できます。 値を列に貼り付けたりインポートしたりする代わりに、列値を定義する Power Pivot の数式でデータ分析式 (DAX) を作成します。

たとえば、 FactSales テーブルの各行に売上利益の値を追加する必要がある場合があります。 新しい集計列を追加し、数式 = [SalesAmount] - [TotalCost] - [ReturnAmount] を使用することで、[ TotalCost ] 列と [ ReturnAmount ] 列の各行の値を [ 売上高] 列の各行から減算して新しい値を計算します。 これで、ピボットテーブル、ピボットグラフ、またはデータ モデルを使用する他の分析で [利益] 列を使用できます。

この図は、Power Pivot の集計列を示しています。

集計列を示すスクリーンショット。

注

集計列とメジャーはどちらも数式に依存していますが、異なる目的で使用されます。 メジャーは、多くの場合、ピボットテーブルやピボットグラフの [値] 領域で使用されます。 各行に計算値を格納し、ピボットテーブル、ピボットグラフ、スライサー、フィルター、行、列、またはグラフ軸のフィールドとして使用できる必要がある場合は、集計列を使用します。 メジャーの詳細については「PowerPivot のメジャー」を参照してください。

集計列について

集計列の数式は、Excel で作成する数式とよく似ています。 ただし、テーブル内の行ごとに異なる数式を作成することはできません。 代わりに、DAX 数式が列全体に自動的に適用されます。

列に数式が含まれている場合、各行の値が計算されます。 列の値は、数式を入力した直後に計算され、基になるデータが変更されたときや依存する計算が更新されたときに再計算されます。

集計列は、同じデータ モデル内の他の集計列とメジャーを参照できます。 たとえば、1 つの計算列を作成して文字列から数字を抽出し、その数字を別の計算列で使うことができます。

使用例

集計列は、テーブルに既に存在するデータを使用して作成できます。 たとえば、値の連結、追加の実行、部分文字列の抽出、他のフィールドの値との比較などから選べます。 集計列を追加するには、Power Pivot に少なくとも 1 つのテーブルが既に存在している必要があります。

次に例を示します。

= EOMONTH([開始日], 0)

次の例では、数式で [プロモーション] テーブルの [開始日] 列の値を使用しています。 次に、プロモーション テーブルの各行の月末値が計算されます。 2 番目のパラメーターは、StartDate の月の前後の月数を指定します。この場合、0 は同じ月を意味します。 たとえば、"開始日" 列の値が 2001/6/1 の場合、集計列の値は 2001/6/30 になります。

集計列に名前を付ける

既定では、新しい集計列は他の列の右側に追加され、その列には CalculatedColumn1、 CalculatedColumn2 などの既定の名前が自動的に割り当てられます。 列を作成した後、必要に応じて列の配置や名前を変更できます。

集計列の変更にはいくつかの制限があります。

  • それぞれの列名は、1 つのテーブル内で一意である必要があります。
  • 同じデータ モデル内のメジャーに既に使用されている名前は避けてください。 混乱を避けるため、列を参照するときには個別の名前と完全修飾列参照を使用します。
  • 集計列の名前を変更するときは、既存の列に依存する数式も更新する必要があります。 手動更新モードでない限り、数式の結果は自動的に更新されます。 ただし、この処理には時間がかかることがあります。
  • 列の名前や Power Pivot の他のオブジェクトの名前に特定の文字を使用することはできません。 詳細については、 DAX 構文の「名前付け要件」を参照してください。

既存の計算列を名前変更または編集するには

  1. [Power Pivot] ウィンドウで、名前を変更する集計列の見出しを右クリックし、[列名の変更] をクリックします。
  2. 新しい名前を入力し、Enter キーを押して新しい名前を受け入れます。

データ型の変更

集計列のデータ型は、他の列のデータ型を変更するのと同じ方法で変更できます。 データに互換性のない値が含まれていると、変換が失敗する可能性があります。

集計列のパフォーマンス

集計列は、テーブル内のすべての行に対して計算および保存されるため、メジャーよりもリソースを大量に消費する可能性があります。 これに対し、メジャーはピボットテーブルまたはピボットグラフで使用されるセルに対してのみ計算されます。

たとえば、100 万行のテーブルには、常に 100 万行の結果が含まれる集計列があり、それに対応するパフォーマンスへの影響があります。 ただし、ピボットテーブルでは通常、行見出しと列見出しを適用してデータをフィルター処理します。 つまり、ピボットテーブルの各セルのデータのサブセットについてのみメジャーが計算されます。

数式は、値を評価する他の列や式などのオブジェクト参照に依存関係があります。 たとえば、別の列に基づく集計列や、列参照を持つ式を含む計算は、他の列が評価されるまでは評価できません。 既定では、自動更新は有効になっています。 数式の依存関係がパフォーマンスに影響を与える可能性があることに注意してください。

計算列を作成するときにパフォーマンス上の問題を回避するには、次のガイドラインに従ってください。

  • 多くの複雑な依存関係を含む 1 つの数式を作成するのではなく、結果を列に保存して数式を段階的に作成することで、結果を検証し、パフォーマンスの変化を評価することができます。 可能であれば、行ごとに格納する必要のない計算には、集計列ではなくメジャーを使用することを検討してください。
  • 多くの場合、データの変更は、計算列の更新を誘発します。 再計算モードを手動に設定することで、この動作を防ぐことができます。 再計算が手動に設定されている場合、モデルを更新して再計算するまで、計算列の結果に最近のデータ変更が反映されないことがあります。
  • テーブル間のリレーションシップを変更または削除すると、それらのテーブルの列を使用する数式は無効になります。
  • 循環依存関係または自己参照依存関係を含む数式を作成すると、エラーが発生します。

タスク

集計列の操作の詳細については、「 Power Pivot で集計列を作成する」を参照してください。