Excel-dax-calculated-fields-measures

提供:Dev Guides
移動先:案内検索

Excel DAX-計算フィールド/メジャー

データモデルのテーブル内の*計算フィールド*は、DAX数式によって取得されたフィールドです。 Power Pivotの以前のバージョンでは、計算フィールドはメジャーと呼ばれていました。 Excel 2013では、計算フィールドとして名前が変更されました。 ただし、Excel 2016で測定するために名前が変更されています。 ドキュメントを参照すると、これら2つの用語の混同が見られます。 計算フィールドとメジャーという用語は同義語であることに注意してください。 このチュートリアルでは、計算フィールドという用語を使用します。

計算フィールドについて

計算フィールドは、ピボットテーブル(またはピボットグラフ)で使用するために特別に作成された数式です。

COUNTやSUMなどの標準的な集計関数に基づいて、または独自のDAX数式を定義して、計算フィールドを作成できます。

以下は、計算フィールドと計算列の違いです-

  • 計算フィールドは、ピボットテーブルのVALUESエリアでのみ使用できます。
  • 計算結果を含む計算列は、ROWS、COLUMNS、およびFILTERSエリアでも使用できます。

計算フィールドの保存

計算フィールドは、データモデルにソーステーブルとともに保存されます。 テーブルのフィールドとして、Power PivotTableまたはPower PivotChart Fieldsリストに表示されます。

計算フィールドの使用

計算フィールドを使用するには、[PowerPivotTable Fields]リストから選択する必要があります。 計算フィールドがVALUES領域に追加され、計算フィールドに使用される式が評価されます。 結果は、行フィールドと列フィールドの組み合わせごとに作成されます。

計算フィールド-例

オリンピックデータの次のデータモデルを考慮してください-

計算フィールド

上記のスクリーンショットに見られるように、結果テーブルには、スポーツ-イベント-国-日付の組み合わせを含む各行の値-ゴールド、シルバー、またはブロンズを含むフィールドメダルがあります。 各国のメダル数が必要な場合、次のDAX式を使用して計算フィールドメダル数を作成できます-

Medal Count := COUNTA([Medal])

テーブルに計算フィールドを作成する

結果テーブルに計算フィールドのメダル数を作成するには、次の操作を行います-

  • [結果]テーブルの[メダル]列の下にある計算領域のセルをクリックします。 セルが強調表示されます。
  • 数式バーにMedal Count:= COUNTA([Medal])と入力します。

テーブルでの計算フィールドの作成

Enterを押します。

Enterキーを押す

上記のスクリーンショットにあるように、選択したセルに計算フィールドが表示され、値が34,094として表示されます。 この数は、結果テーブルの行の総数です。 したがって、最初はあまり意味がありません。 前に説明したように、計算フィールドの実際の使用は、Power PivotTableまたはPower PivotChartに追加することによってのみ確認できます。

パワーピボットテーブルでの計算フィールドの使用

計算フィールドを使用して、各国のメダルの数を数えるには、次のようにします-

  • [Power Pivot]ウィンドウでリボンのピボットテーブルをクリックします。
  • ドロップダウンリストでピボットテーブルをクリックします。

パワーピボットテーブルでの計算フィールドの使用

[ピボットテーブルの作成]ダイアログボックスが表示されます。

  • 既存のワークシートをクリックします。
  • ピボットテーブルを配置する場所を選択します。

空のピボットテーブルが作成されます。

  • [ピボットテーブルフィールド]リストで[結果]テーブルをクリックします。
  • フィールドをクリックします-国とメダル数。

空のピボットテーブルが作成されました

ご覧のとおり、メダル数はVALUESエリアに追加され、国はROWSエリアに追加されます。 ピボットテーブルが作成され、フィールドに国の値が行に表示されます。 また、各行について、メダル数の値が計算されて表示されます。 これが、計算フィールドが使用されるDAX数式を評価し、値を表示する方法です。

  • 結果テーブルのフィールドSportをROWSエリアに追加します。

フィールドスポーツの追加

上記のスクリーンショットを見るとわかるように、メダル数は、国ごとに計算されます-スポーツごと、および国自体の小計です。

これが、DAXがPower機能を補完する方法です。

計算フィールドのタイプ

計算フィールドには、暗黙的と明示的の2つのタイプがあります。

  • *暗黙的な計算フィールド*は、PowerPivotTable Fieldsリストペインに作成されます。
  • *明示的な計算フィールド*は、Power Pivotウィンドウのテーブル、またはExcelウィンドウのPowerPivotリボンから作成されます。

暗黙的な計算フィールドの作成

暗黙的な計算フィールドは、2つの方法で作成できます。どちらもPower PivotTable Fieldsペインで作成できます。

ピボットテーブルフィールドリストでの暗黙的な計算フィールドの作成

次のように、ピボットテーブルフィールドリストのメダルフィールドからメダルフィールドのカウントを作成できます-

  • [メダル数]フィールドの選択を解除します。
  • [メダル]フィールドを右クリックします。
  • ドロップダウンリストで[値に追加]をクリックします。

暗黙的な計算フィールドの作成

[値]領域にメダルの数が表示されます。 メダル数の列がピボットテーブルに追加されます。

メダル列数

VALUESエリアでの暗黙的な計算フィールドの作成

暗黙的な計算フィールド-値領域の親行の割合を作成して、国が獲得した各スポーツのメダル数を、その国が獲得したメダルの総数に対する割合として表すことができます。

  • [VALUES]領域の[Count of Medal]ボックスの下矢印をクリックします。
  • ドロップダウンリストの[値フィールドの設定]をクリックします。

値エリアでの暗黙的な計算フィールドの作成

[値フィールドの設定]ダイアログボックスが表示されます。

  • [カスタム名]ボックスに%メダルと入力します。
  • [値を表示]タブをクリックします。
  • [値を表示]の下のボックスをクリックします。
  • 親行合計の%をクリックします。

値フィールドの設定

  • [数値形式]ボタンをクリックします。

[セルの書式設定]ダイアログボックスが表示されます。

  • パーセンテージをクリックします。
  • 小数点以下の桁に0を入力します。
  • OKをクリックしてください。
  • [値フィールドの設定]ダイアログボックスで[OK]をクリックします。
  • [小計を表示しない]を選択します。

セルの書式設定ダイアログボックス

別の暗黙的な計算フィールド%メダルを作成しました。観察できるように、国ごとにスポーツに関するメダルの割合が表示されます。

暗黙的な計算フィールドの欠点

暗黙的な計算フィールドは簡単に作成できます。 実際、Excelのピボットテーブルやピボットグラフでも作成されています。 しかし、彼らには次の欠点があります-

  • これらは揮発性です。 つまり、計算フィールドに使用したフィールドの選択を解除すると、そのフィールドは削除されます。 再度表示する場合は、もう一度作成する必要があります。
  • それらのスコープは、作成されたピボットテーブルまたはピボットグラフに限定されます。 別のワークシートに別のピボットテーブルを作成する場合は、計算フィールドを再度作成する必要があります。

一方、明示的な計算フィールドはテーブルとともに保存され、そのテーブルを選択するたびに使用可能になります。

明示的な計算フィールドの作成

あなたは2つの方法で明示的な計算フィールドを作成することができます-

  • データモデルのテーブルの計算領域。 これについては、「テーブルでの計算フィールドの作成」セクションで既に学習しています。
  • ExcelテーブルのPowerPivotリボンから。 次のセクションで、明示的な計算フィールドを作成するこの方法を学習します。

PowerPivotリボンから明示的な計算フィールドを作成する

PowerPivotリボンから明示的な計算フィールドを作成するには、次のようにします-

  • ブックのリボンの[POWERPIVOT]タブをクリックします。
  • [計算]領域で[計算フィールド]をクリックします。
  • ドロップダウンリストで[新しい計算フィールド]をクリックします。

明示的な計算の作成

[計算フィールド]ダイアログボックスが表示されます。

  • 次のスクリーンショットに示すように、必要な情報を入力します。

[計算フィールドダイアログボックス]

  • [式の確認]ボタンをクリックします。
  • 数式にエラーがない場合にのみ、[OK]をクリックします。

ご覧のとおり、このダイアログボックスで計算フィールドのカテゴリと形式を定義できます。 さらに、IntelliSense機能を使用して関数の使用方法を理解し、オートコンプリート機能を使用して関数、テーブル、および列の名前を簡単に完成させることができます。 IntelliSense機能の詳細については、章– link:/excel_dax/excel_dax_formulas [DAX Formulas]を参照してください。

これは、明示的な計算フィールドを作成するための推奨される方法です。