PowerPivot での集計

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

集計とは、データを集約、要約、またはグループ化する方法です。テーブルや他のデータ ソースからの生のデータは通常フラットです。つまり、詳しいデータが多数あっても、データは分類またはグループ化されていません。このように概要や構造が不十分なために、データのパターンを見つけにくい場合があります。データ モデリングで重要なのは、特定の業務上の疑問に応じてパターンを簡素化、抽象化、または集約する集計を定義することです。

平均COUNTDISTINCTCOUNTMAXmin 関数、または合計を使用するなど、最も一般的な集計は [オート Sum を使用しての自動的にメジャーの作成できます。AVERAGEXCOUNTXCOUNTROWSSUMXなどの集計の他の種類では、テーブルを返すし、 Data Analysis Expressions (DAX)を使用して作成された数式を要求します。

PowerPivot での集計について

集計のグループの選択

データを集計する際には、製品、価格、地域、日付などの属性によってデータをグループ化してから、グループ内のすべてのデータに有効な数式を定義します。たとえば、1 年間の合計を作成することは、集計の作成です。一方、去年に対する今年の比率を作成し、それをパーセントで表すことも、別の種類の集計です。

データをグループ化する方法は、業務上の質問に基づいて決定します。たとえば、集計を使用すると、以下の質問に答えることができます。

件数    1 か月に何件取引があったか?

平均   販売員ごとの今月の平均売上高はいくらだったか?

最小値と最大値   どの販売地域が販売個数で上位 5 位だったか?

これらの質問に答えるための計算を作成するには、カウントまたは合計の対象となる数値を含む詳しいデータが必要であり、その数値データには、結果の分類に使用するグループと何らかの方法で関連づけられていることが必要です。

既に、データにグループ化のために使用できる値が含まれていない場合など、製品カテゴリまたはストアが含まれている地域の名前、データにカテゴリを追加してグループを導入する可能性があります。Excel でのグループを作成した場合する必要があります手動で入力するか、ワークシート内の列から使用するグループを選択します。ただし、システムでは、リレーショナル、製品のカテゴリに分類などの階層多くの場合は、ファクト テーブルまたはテーブルの値に通常、category テーブルは、キーのいくつかの種類によって、実際のデータにリンクされます。たとえば、プロダクト Id が、製品やそのカテゴリの名前にデータが含まれているを見つけることがあるとします。フラット Excel ワークシートには、カテゴリを追加するには、カテゴリ名を含む列にコピーする必要があります。PowerPivot、することができます product category テーブルをデータ モデルにインポートする、数値のデータ テーブルと製品カテゴリ] ボックスの一覧の間のリレーションシップを作成してし、データをグループ化のカテゴリを使用します。詳細については、テーブル間のリレーションシップを作成するを参照してください。

集計用の関数の選択

使用するグループを決定し、追加したら、集計に使う数学関数を決める必要があります。集計という用語は、合計、平均、最小、件数など、集計に使用される数学的または統計的演算と同じ意味で使われることがあります。しかし PowerPivot では、PowerPivot と Excel の両方が備えている標準的な集計のほかに、集計のための数式を独自に作成できます。

たとえば、前の例で使用したのと同じ値とグループ化のセットで、以下の質問に答えるカスタム集計を作成できます。

フィルター後の件数   月末のメンテナンス ウィンドウを除いて、1 か月に何件取引があったか?

長期間の平均を使用した比率   去年の同じ時期と比較して売上の増加率または低下率はどのくらいか?

グループ化した最小値と最大値   どの販売地域が各製品カテゴリまたは各販売キャンペーンの 1 位であったか?

数式とピボットテーブルへの集計の追加

データが意味を意味を持つようなグループ化方法と処理する値についておおよその方針が決まったら、ピボットテーブルを構築するのかテーブル内で計算を作成するのかを決めます。PowerPivot は、Excel の従来の機能を拡張、改善することで、総計、件数、平均などの集計を作成できるようになりました。カスタム集計は、[PowerPivot] ウィンドウ内、または Excel ピボットテーブル領域内の PowerPivot で作成できます。

  • 計算列で、現在の行のコンテキストを考慮する集計を作成して、別のテーブルから関連する行を取得してから、関連する行の値の合計、件数、平均などを計算できます。

  • メジャー] で、数式内で定義されているフィルターおよびピボット テーブルのデザインとスライサー、列見出しと行見出しの選択範囲によって課されるフィルターの両方を使用する集計を動的なを作成できます。オート Sum を使用する数式を作成するか、 PowerPivotで標準の集計を使用するメジャーを作成できます。標準の集計を使用して、Excel でピボット テーブルで暗黙的なメジャーを作成することもできます。

ピボットテーブルへのグループ化の追加

ピボットテーブルをデザインするときは、グループ化、カテゴリ、または階層を示すフィールドをピボットテーブルの列および行のセクションにドラッグして、データを分類します。次に、数値が含まれているフィールドを値の領域にドラッグし、件数、平均、合計などを計算できるようにします。

ピボットテーブルにカテゴリを追加しても、カテゴリ データがファクト データに関連していない場合は、エラーまたは異常な結果が生じる可能性があります。PowerPivot は通常、自動的にリレーションシップを検出および提案することで問題を修正しようとします。詳細については、「ピボットテーブルでのリレーションシップの操作」を参照してください。

また、フィールドをスライサーにドラッグして、表示する特定のデータ グループを選ぶこともできます。スライサーを使用すると、結果をピボットテーブルで対話的にグループ化、並べ替え、およびフィルターできます。

数式のグループ化の操作

グループ化とカテゴリを使用すると、テーブル間のリレーションシップを作成してから、これらのリレーションシップを活用して関連する値を参照する数式を作成することによって、テーブルに保存されているデータを集計することもできます。

つまり、カテゴリ別に値をグループ化する数式を作成する場合は、最初にリレーションシップを使用して詳細データを含むテーブルとカテゴリを含むテーブルを関連付けてから、数式を作成します。

参照を使用する数式を作成する方法の詳細については、「PowerPivot の数式での参照」を参照してください。

集計でのフィルターの使用

PowerPivotの新機能は、列とだけでなく、ユーザー インターフェイスとピボット テーブルやグラフ内でも非常に数式を使用して集計の計算が、データのテーブルにフィルターを適用する機能です。数式の計算列と s の両方でフィルターを使用することができます。

たとえば、新しい DAX 集計関数では、合計や件数を計算する値を指定する代わりに、テーブル全体を引数として指定できます。そのテーブルにフィルターを適用しないと、集計関数の対象は、テーブル内の指定した列のすべての値になります。しかし、DAX でテーブルに動的フィルターまたは静的フィルターを作成し、フィルターの条件と現在のコンテキストに応じて集計の対象をデータの異なるサブセットにすることができます。

数式で条件とフィルターを組み合わせることで、数式に入力した値によって変わる集計や、ピボットテーブルの行見出しや列見出しの選択によって変わる集計を作成できます。

詳細については、「数式内でのデータのフィルター処理」を参照してください。

Excel の集計関数と DAX の集計関数との比較

次の一覧は、Excel の標準的な集計関数の一部で、PowerPivot でのこれらの関数の使用方法にリンクしています。これらの関数の DAX バージョンは Excel バージョンとほぼ同じですが、構文と特定のデータ型の扱いに若干の違いがあります。

標準の集計関数

関数

用途

AVERAGE

列内のすべての数値の平均 (算術平均) を返します。

AVERAGEA

列内のすべての数値の平均 (算術平均) を返します。テキスト値および数値以外の値も処理されます。

COUNT

列内の数値の数をカウントします。

COUNTA

列内の空ではない値の数をカウントします。

MAX

列の最大の数値を返します。

MAXX

テーブルに対して評価される一連の式から最大値を返します。

MIN

列の最小の数値を返します。

MINX

テーブルに対して評価される一連の式から最小値を返します。

SUM

列内のすべての数値を加算します。

DAX の集計関数

DAX には、集計を実行するテーブルを指定できる集計関数が含まれています。したがって、これらの関数を使用すると、単に列内の値を加算したり、それらの値の平均を求めたりする代わりに、集計するデータを動的に定義する式を作成することができます。

次の表は、DAX で使用できる集計関数の一覧を示しています。

関数

用途

AVERAGEX

テーブルに対して評価される一連の式の平均を計算します。

COUNTAX

テーブルに対して評価される一連の式をカウントします。

COUNTBLANK

列内の空白値の数をカウントします。

COUNTX

テーブル内の行の総数をカウントします。

COUNTROWS

入れ子になったテーブル関数 (フィルター関数など) から返される行の数をカウントします。

SUMX

テーブルに対して評価される一連の式の合計を返します。

DAX の集計関数と Excel の集計関数の相違点

これらの関数は Excel バージョンと名前は同じですが、PowerPivot のメモリ内分析エンジンを利用しており、テーブルおよび列を対象とするように書き直されています。DAX 数式を Excel ブックで使用することはできません。その逆もできません。PowerPivot データに基づく PowerPivot ウィンドウとピボットテーブルでのみ使用できます。また、関数の名前が同じでも、動作が若干異なる場合があります。詳細については、それぞれの関数のリファレンス トピックを参照してください。

また、集計内で列が評価される方法は、Excel が集計を処理する方法とは異なります。次の例を使用して説明します。

Sales テーブル内の Amount 列の値の合計が必要で、次の式を作成したとします。

=SUM('Sales'[Amount])

最も単純なケースでは、関数はフィルター処理されていない 1 つの列から値を取得します。結果は Excel と同じで、Amount 列に値が加算されていきます。一方、PowerPivot では、この数式は "Sales テーブルの各行で Amount 列の値を求め、それぞれの値を加算する" と解釈されます。PowerPivot は、集計対象の各行を評価し、行ごとに単一のスカラー値を計算し、その上で値を集計します。そのため、テーブルに対してフィルターが適用されている場合、またはフィルター処理されている可能性がある別の集計に基づいて値が計算される場合は、式の結果は異なることがあります。詳細については、「DAX の数式のコンテキスト」を参照してください。

DAX タイム インテリジェンス関数

前のセクションで説明したテーブル集計関数以外に、DAX には指定した日時を操作して組み込みのタイム インテリジェンスを提供する集計関数があります。これらの関数は、日付の範囲を使用して関連する値を取得し、値を集計します。日付範囲で値を比較することもできます。

次の表に、集計に使用できるタイム インテリジェンス関数を一覧にします。

関数

用途

CLOSINGBALANCEMONTH

CLOSINGBALANCEQUARTER

CLOSINGBALANCEYEAR

指定された期間の末日の値を計算します。

OPENINGBALANCEMONTH

OPENINGBALANCEQUARTER

OPENINGBALANCEYEAR

指定された期間の前の期間の末日の値を計算します。

TOTALMTD

TOTALYTD

TOTALQTD

期間の最初の日付から、指定された日付列に含まれる最も新しい日付までを対象に、値を計算します。

タイム インテリジェンス関数のセクション (「タイム インテリジェンス関数」) に記載されているその他の関数は、集計に使用する日付またはカスタムの日付範囲を取得するために使用できる関数です。たとえば、DATESINPERIOD 関数を使用して日付範囲を返し、その一連の日付を別の関数の引数として使用して、それらの日付だけを対象とするカスタム集計を計算できます。

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

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

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

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

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

×