ピボットテーブルまたはピボットグラフのメジャーの作成

メジャーは、成果または結果を、時間、地理、組織、製品の特性など、分析に関連する他の要因と比較して計測するために作成する計算です。 メジャーを作成する方法はいくつかありますが、メジャーの使用方法によっては、すべての方法が同じように効果的であるとは限りません。 特に、レポート アプリケーションでデータ モデルとして使用するブックを作成する場合は、以下のセクションで説明するように、明示的なメジャーのみを作成するようにします。

データ モデルで使用するメジャーの作成

PowerPivot ブックで作成するメジャーは、Power View や他のレポート アプリケーションで作成したレポートで使用でき、レポートで作成する他のメジャーまたは計算と共存します。 メジャーが定義済みの計算としてレポートに表示されるようにするには、PowerPivot ブックで明示的なメジャーとしてメジャーを作成する必要があります。 明示的なメジャーは、手動で作成するメジャーです。 このメジャーは、ピボットテーブルの値領域にフィールドを追加したときに Excel によって自動的に生成される暗黙的なメジャーとは対照的です。

Excel で使用するメジャーの作成

Excel で使用するメジャーを作成するときは、まず PowerPivot ブックにピボットテーブルまたはピボットグラフを追加する必要があります。 その後、次のいずれかの方法を使用してメジャーを作成できます。

  • [PowerPivot フィールドの一覧] から [値] 領域にフィールドをドラッグして暗黙的なメジャーを作成します。 数値フィールドをドラッグすると、暗黙的なメジャーは SUM 集計を使用して計算されます。 テキスト フィールドをドラッグすると、メジャーは COUNT 集計を使用して計算されます。 暗黙的なメジャーを編集して、MIN、MAX、DISTINCTCOUNT などの異なる集計に計算を変更できます。

    注意

    暗黙的なメジャーは簡単に作成できますが、明示的なメジャーよりも制約が多くなります。 暗黙的なメジャーは、名前の変更、移動、またはブック内の他のピボットテーブルまたはグラフでの使用はできません。 また、暗黙的なメジャーは既存のフィールドに基づいているため、そのフィールドを削除すると、関連する暗黙的なメジャーも削除されます。 さらに、暗黙的なメジャーでは、集計に組み込まれたデータ形式のみを使用できます。暗黙的なメジャーは、明示的なメジャーで使用できる幅広いデータ形式をサポートしていません。

  • PowerPivot リボンの [新しいメジャー] ボタンを使用して、明示的なメジャーを手動で作成します。

  • セルの式領域にメジャー名と数式を入力して、PowerPivot ウィンドウの [計算領域] で明示的なメジャーを手動で作成します。

メジャーを追加すると、ピボットテーブルの [値] 領域のセルごとに数式が評価されます。 行の見出しと列の見出しの組み合わせごとに結果が作成されるため、メジャーの結果は各セルで異なる場合があります。

例: 簡単な集計を使用する明示的なメジャーの作成

この例では、AdventureWorks データベースの自転車関連のデータを使用します。 サンプル ブックの取得方法の詳細については、「PowerPivot のサンプル データの入手」を参照してください。 数式の詳細については、「数式の作成」を参照してください。

この例では、明示的なメジャーを作成する 2 つの方法を示します。 最初に、モデル内で定義されたすべてのメジャーが表示される PowerPivot ウィンドウの [計算領域] でメジャーを作成します。 次に、PowerPivot ブックにピボットテーブルまたはピボットグラフを追加し、[メジャーの設定] ダイアログ ボックスを使用してメジャーを追加します。 メジャーの数式では、PowerPivot ブック内の列とテーブルを使用して、合計、平均などの計算を定義します。

  1. PowerPivot ウィンドウで [ホーム] タブをクリックし、[ビュー] グループにある [計算領域] をクリックします。

  2. FactResellerSales テーブルで、[計算領域] の任意の場所にあるセルをクリックします。

  3. ブックの最上部にある数式バーで、<measurename>:<formula> の形式で数式を入力します。

    Projected Sales:=SUM('FactResellerSales'[SalesAmount])*1.06
    
  4. [OK] をクリックして数式を確定します。

  5. PowerPivot ウィンドウで [ホーム] タブをクリックし、[レポート] グループにある [ピボットテーブル] をクリックします。

    [ピボットテーブルの作成] ダイアログ ボックスで、[新しいワークシート] が選択されていることを確認し、[OK] をクリックします。

    PowerPivot によって、新しい Excel ワークシートに空のピボットテーブルが作成され、ブックの右側に PowerPivot フィールドの一覧が表示されます。

  6. FactResellerSales テーブルを展開して、作成したメジャーを表示します。 メジャーを作成する前にブックにピボットテーブルがある場合、[PowerPivot フィールドの一覧] の最上部にある [更新] ボタンをクリックしてフィールドを更新する必要があります。

  7. Excel ウィンドウの [PowerPivot] タブの [メジャー] グループで、[新しいメジャー] をクリックします。

  8. [メジャーの設定] ダイアログ ボックスの [テーブル名] の下矢印をクリックし、ボックスの一覧の [FactResellerSales] をクリックします。

    選択したテーブルによって、メジャーの定義を保存する場所が決まります。 必ずしもそのメジャーが参照するテーブルに保存する必要はありません。

  9. [メジャー名 (すべてのピボットテーブル)] に「Total Quantity」と入力します。

  10. メジャーの名前はブック内で一意でなければならず、既にブックに含まれている列と同じ名前にすることはできません。

  11. [式] ボックスで、等号 (=) の後ろにカーソルを置き、次の数式を入力します。

    SUM(FactResellerSales[OrderQuantity])
    
  12. [OK] をクリックします。

作成した両方のメジャーはソース データ テーブルと共に保存されますが、任意のピボットテーブルまたはピボットグラフで使用できます。 メジャーは、PowerPivot フィールドの一覧に表示され、ブックのすべてのユーザーが利用できます。

例: カスタム集計を使用する明示的なメジャーの作成

この例では、新しい DAX 集計関数の 1 つである SUMX 関数と、ALL 関数を使用したカスタム集計を作成します。ここでは、ALL 関数は列のコンテキストに関係なく、その列のすべての値を返します。 例では、DAX サンプル ブック内の次の列を使用します。

  • DateTime[CalendarYear]

  • ProductCategory[ProductCategoryName]

  • ResellerSales_USD[SalesAmount_USD]

例では、行ラベルに CalendarYear、列ラベルに ProductCategoryName を設定したピボットテーブルを使用します。メジャー式には、SalesAmount_USD を使用します。 この例では、2005 年から 2008 年の合計売上のうち、各年および各製品カテゴリが占める割合を知ることができます。 たとえば、2007 年の自転車の売上が合計売上に占める割合がわかるようになります。 これらを確認するには、以下のメジャー式を使用します。

=SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])

数式の構成は次のとおりです。

  1. 分子 SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]) は、ピボットテーブルの現在のセルに対する ResellerSales_USD[SalesAmount_USD] の値の合計です。 CalendarYear および ProductCategoryName のコンテキストがあるため、この値は、年と製品カテゴリの組み合わせによって異なります。 たとえば、2003 年の自転車の販売総数は、2008 年のアクセサリの販売総数と異なります。

  2. 分母では、最初にテーブル ResellerSales_USD を指定してから、ALL 関数を使用して、テーブルにあるすべてのコンテキストを削除します。 これにより、年と製品カテゴリの組み合わせに関係なく、この値は必ず同じになります (分母は常に 2005 年から 2008 年の合計売上になります)。

  3. 次に、SUMX 関数を使用して、ResellerSales_USD[SalesAmount_USD] 列の値の合計を計算します。 つまり、すべての再販業者の売上の ResellerSales_USD[SalesAmount_USD] の合計が得られます。

注意

Windows Vista および Windows 7 では、PowerPivot ウィンドウの機能をリボンから実行できます。このトピックではその手順について説明しています。 Windows XP では、同じ機能を一連のメニューから実行できます。 Windows XP を使用している場合、メニュー コマンドとリボン コマンドの対応については、「Windows XP の PowerPivot UI」を参照してください。

カスタム集計を使用したメジャーを作成するには

  1. PowerPivot ウィンドウで [ホーム] タブをクリックし、[レポート] グループにある [ピボットテーブル] をクリックします。

  2. [ピボットテーブルの作成] ダイアログ ボックスで、[新しいワークシート] が選択されていることを確認し、[OK] をクリックします。

    PowerPivot によって、新しい Excel ワークシートに空のピボットテーブルが作成され、ブックの右側に PowerPivot フィールドの一覧が表示されます。

  3. Excel ウィンドウで、[PowerPivot フィールド リスト] を使用してピボットテーブルに列を追加します。

    1. DateTime テーブルを探し、列 CalendarYear をピボットテーブルの [行ラベル] 領域にドラッグします。

    2. ProductCategory テーブルを探し、列 ProductCategoryName をピボットテーブルの [列ラベル] 領域にドラッグします。

  4. Excel ウィンドウの [PowerPivot] タブの [メジャー] グループで、[新しいメジャー] をクリックします。

  5. [メジャーの設定] ダイアログ ボックスの [テーブル名] の下矢印をクリックし、ボックスの一覧で [ResellerSales_USD] をクリックします。

    選択したテーブルによって、メジャーの定義を保存する場所が決まります。 必ずしもそのメジャーが参照するテーブルに保存する必要はありません。

  6. [メジャー名 (すべてのピボットテーブル)] に「AllResSalesRatio」と入力します。

    この名前はメジャーの識別子として使用されるため、ブック内で一意である必要があり、変更できません。

  7. [カスタム名 (このピボットテーブル)] に「All Reseller Sales Ratio」と入力します。

    この名前は、現在のピボットテーブル内での表示にのみ使用されます。 たとえば、AllResSalesRatio メジャーを他のピボットテーブルで再利用するときは、別の名前をつけたり、別の言語を使用することもできます。

  8. [式] ボックスで、等号 (=) の後ろにカーソルを置きます。

  9. 「SUMX」と入力し、かっこを入力します。

    =SUMX( 
    

    入力の際、[数式] ボックスの下のツールヒントに、SUMX 関数には 2 つの引数 (最初の引数は、テーブルか、テーブルを返す式。2 番目の引数は、合計できる数値を指定する式) が必要であることが示されます。

    「Res」と入力し、一覧から [ResellerSales_USD] を選択して、Tab キーを押します。

    列名が次のように数式に挿入されます。

    =SUMX(ResellerSales_USD
    
  10. コンマを入力します。

    ツールヒントが更新され、次に必要な引数はであることが示されます。 この引数には、値、列への参照、またはそれらの組み合わせを指定できます。 たとえば、他の 2 つの列を合計する式を作成できます。 この例では、各再販業者の売上高を含む列の名前を指定します。

  11. 含める列を含むテーブルの名前の最初の数文字を入力します。 この例では、「Res」と入力し、一覧から [ResellerSales_USD[SalesAmount_USD] 列を選択します。

  12. Tab キーを押し、次に示すように列名を数式に挿入し、閉じかっこを追加します。

    =SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
    
  13. スラッシュを入力してから、[メジャーの設定] ダイアログ ボックスに次のコードを入力するか、コピーして貼り付けます。

    SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
    

    ALL 関数が SUMX 関数の内部で入れ子になっていることに注意してください。 数式全体は、次のようになります。

    =SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
    
  14. [数式の確認] をクリックします。

    数式の構文エラーや参照エラーがチェックされます。 かっこやコンマの不足などのエラーが検出された場合は修正します。

  15. [OK] をクリックします。

    これでこのメジャーによって、カレンダー年度と製品カテゴリのすべての組み合わせの値がピボットテーブルに取り込まれます。

  16. 次のようにして、テーブルの書式を設定します。

    1. [総計] 行を含め、ピボットテーブルのデータを選択します。

    2. [ホーム] タブの [数値] グループで、パーセント ボタン ([%]) を 1 回クリックしてから、小数点表示桁上げボタン ([<- .0 .00]) を 2 回クリックします。

    できあがったテーブルは次のようになります。 製品と年度の各組み合わせについて、売上合計に占める割合が確認できるようになりました。 たとえば、2007 年の自転車の売上は、2005 年から 2008 年のすべての売上の 31.71% を占めています。

All Reseller Sales

[列ラベル]

 

 

 

 

[行ラベル]

Accessories

Bikes

Clothing

Components

総計

2005

0.02%

9.10%

0.04%

0.75%

9.91%

2006

0.11%

24.71%

0.60%

4.48%

29.90%

2007

0.36%

31.71%

1.07%

6.79%

39.93%

2008

0.20%

16.95%

0.48%

2.63%

20.26%

総計

0.70%

82.47%

2.18%

14.65%

100.00%

関連項目

参照

[主要業績評価指標] ダイアログ ボックス

概念

PowerPivot で使用するメジャー

PowerPivot ウィンドウ: 計算領域

その他の技術情報

レポート、グラフ、およびピボットテーブルの概要