PowerPivot の計算列

集計列を使用すると、 PowerPivot データモデルのテーブルに新しいデータを追加することができます。 列に値を貼り付けたりインポートしたりする代わりに、列の値を定義するData Analysis 式 (DAX)の数式を作成します。

たとえば、 factSalesテーブルの各行に売上金額を追加する必要があるとします。 新しい計算列を追加して、数式= [Salesamount]-[TotalCost] – [ReturnAmount]を使用して、新しい値を計算するには、TotalCost と ReturnAmount 列の各行の値を salesamount 列の値から減算します。 [利益] 列は、他の列と同じように、ピボットテーブル、ピボットグラフ、または Power View レポートで使うことができます。

次の図は、 PowerPivotの集計列を示すものです。

計算列

注: 計算列と計算メジャーは似ていますが、それぞれの数式は異なっています。 メジャーは、多くの場合、ピボットテーブルやピボットグラフの [] 領域で使用されます。 集計結果をピボットテーブルの別の領域 (ピボットテーブルの列や行、ピボットグラフの軸など) に配置する場合は、集計列を使用します。 メジャーの詳細については「PowerPivot のメジャー」を参照してください。

計算列について

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

列に数式が含まれている場合は、各行について値が計算されます。 数式を入力するとすぐに、その列に対する結果が計算されます。 基になるデータが更新された場合など、列の値は必要に応じて再計算されます。

メジャーなどの計算列に基づいて、集計列を作成できます。 たとえば、1 つの計算列を作成して文字列から数字を抽出し、その数字を別の計算列で使うことができます。

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

次の数式を参照してください。

=EOMONTH([StartDate],0])

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

計算列の名前付け

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

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

  • それぞれの列名は、1 つのテーブル内で一意である必要があります。

  • 同じブック内のメジャーに使用されている名前は使わないでください。 メジャーと計算列を同じ名前にすることはできますが、名前が一意でないと計算エラーが起きやすくなります。 誤ってメジャーを呼び出すことがないように、列を参照するときは常に完全修飾の列参照を使用します。

  • 集計列の名前を変更する場合は、既存の列に依存するすべての数式も更新する必要があります。 手動更新モードを使用していない場合は、数式の結果が自動的に更新されます。 ただし、この処理には時間がかかることがあります。

  • 列名をはじめ、PowerPivot の他のオブジェクトの名前には、使用できない文字もあります。 詳細については、「 powerpivot の DAX 構文の仕様」の「名前付け要件」を参照してください。

既存の計算列を名前変更または編集するには、次の操作を行います。

  1. [PowerPivot] ウィンドウで、名前を変更する計算列の見出しを右クリックして、[列名の変更] をクリックします。

  2. 新しい名前を入力し、Enter キーを押して新しい名前を受け入れます。

データ型の変更

他の列のデータ型を変更するのと同じように、集計列のデータ型を変更できます。 テキスト型から 10 進型、整数型、通貨型、および日付型への変更はできません。 テキスト型からブール型へは変更できます。

計算列のパフォーマンス

計算列で使用される数式は、メジャーで使用される数式よりリソースを大量に消費する可能性があります。 その理由の 1 つとして、計算列の結果が常にテーブルのすべての行を対象に計算されるのに対し、メジャーはピボットテーブルまたはピボットグラフに使用されているセルのみを対象として計算されることが挙げられます。

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

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

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

  • 複雑な依存関係が含まれる1つの数式を作成するのではなく、手順に従って数式を作成し、結果を列に保存して、結果を検証し、パフォーマンスの変化を評価できるようにします。

  • データを変更すると、計算列の更新が実行されることがよくあります。 再計算モードを [手動] に設定することで、これを防ぐことができます。 ただし、集計列の値が正しくない場合、データを更新して再計算するまで、列は無効になります。

  • テーブル間のリレーションシップを変更または削除すると、そのテーブル内の列を使用する数式が無効になります。

  • 循環依存や自己参照依存を含む数式を作成した場合、エラーが発生します。

タスク

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

注:  このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 情報が役に立ったかどうか、ご意見をお寄せください。 参考までに、こちらから英語の記事をお読みいただけます。

ヘルプを表示

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×