PowerPivot での計算式の作成

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

この記事では説明の両方の計算式の作成の基本計算列とPowerPivotでメジャーします。DAX に新しい場合は、必ずチェック アウトするクイック スタート: 30 分で DAX の基礎を学習します。

数式の基本

PowerPivot には、Data Analysis Expressions (DAX) が用意されています。これを使うと、PowerPivot テーブルおよび Excel ピボットテーブル内でユーザー設定の計算を作成できます。DAX には、Excel の数式で使用される関数と、リレーショナル データの操作と動的な集計用に設計された関数があります。

次に、計算列で使用できる基本的な数式を示します。

数式

説明

=TODAY()

今日の日付を列のすべての行に挿入します。

=3

値 3 を列のすべての行に挿入します。

=[Column1] + [Column2]

同じ行の [Column1] と [Column2] の値を加算して、同じ行の計算列に結果を格納します。

Microsoft Excel PowerPivotでの数式作成と同様に、計算列用に   数式を作成できます。

数式を作成する際は、次の手順に従います。

  • 各数式は等号から始める必要があります。

  • 関数名を入力または選ぶか、式を入力することができます。

  • 始めに任意の関数または名前の最初の数文字を入力します。オートコンプリート機能により、利用できる関数、テーブル、列の一覧が表示されます。TAB キーを押し、オートコンプリート機能による一覧から数式にアイテムを追加します。

  • [Fx] をクリックし、利用可能な関数の一覧を表示します。ドロップダウン リストから関数を選ぶには、矢印キーを使い、アイテムを強調表示し、[OK] をクリックして数式に関数を追加します。

  • テーブルと列のボックスの一覧から選ぶか、値または別の関数を入力して、関数の引数を指定します。

  • 構文エラーをチェックします。すべてのかっこが閉じられていることと、列、テーブル、および値が正しく参照されていることを確認してください。

  • Enter キーを押して数式を確定します。

注: 、集計列に、数式に同意すると、すぐに、列は値に設定します。メジャーで ENTER キーを押してメジャーの定義を保存します。

単純な数式の作成

単純な数式を使用した計算列を作成するには

SalesDate

Subcategory

Product

Sales

数量

1/5/2009

Accessories

Carrying Case

254995

68

1/5/2009

Accessories

Mini Battery Charger

1099.56

44

1/5/2009

Digital

Slim Digital

6512

44

1/6/2009

Accessories

Telephoto Conversion Lens

1662.5

18

1/6/2009

Accessories

Tripod

938.34

18

1/6/2009

Accessories

USB Cable

1230.25

26

  1. 上の表のデータ (表見出しを含む) を選択およびコピーします。

  2. PowerPivot で [ホーム]、[貼り付け] の順にクリックします。

  3. [貼り付けプレビュー] ダイアログ ボックスで [OK] をクリックします。

  4. [デザイン] をクリックして >>を追加します。

  5. テーブルの上にある数式バーに、以下の数式を入力します。

    = [Sales]/[数量]

  6. Enter キーを押して数式を確定します。

すべての行の新しい計算列に値が入力されます。

オートコンプリート使用のヒント

  • 入れ子になった既存の関数の途中で、数式オートコンプリートを使用できます。挿入ポイントの直前のテキストに基づいてドロップダウン リストの値が表示され、挿入ポイントの後のすべてのテキストは元のまま残ります。

  • PowerPivot には、関数の閉じかっこを追加する機能や、かっこを自動的に照合する機能はありません。数式を保存または使用するには、各関数の構文に誤りがないことをユーザー自身が確認する必要があります。 PowerPivot ではかっこが強調表示されるので、適切な閉じかっこの存在を容易に確認できます。

テーブルと列の操作

PowerPivot テーブルは外観が Excel テーブルと似ていますが、データや数式を処理する方法は次のように異なります。

  • PowerPivot の数式では、テーブルおよび列のみを使用できます。個々のセル、範囲参照、配列などは使用できません。

  • 数式ではリレーションシップを利用し、関連するテーブルから値を取得できます。取得される値は常に現在の行の値に関連します。

  • PowerPivot 数式を Excel ワークシートに貼り付けることはできません。その逆もできません。

  • Excel ワークシートとは異なり、不規則なデータを含めることはできません。テーブルの各行には同じ数の列が含まれている必要があります。ただし、一部の列には空の値を含めることができます。Excel データ テーブルと PowerPivot データ テーブルは交換できませんが、PowerPivot から Excel テーブルへのリンクを作成したり、Excel データを PowerPivot に貼り付けることはできます。詳しくは「リンク テーブルを使用したデータ モデルへのワークシート データの追加」と「PowerPivot のデータ モデルへの行のコピーと貼り付け」をご覧ください。 

数式および式でのテーブルと列の参照

任意のテーブルと列をその名前で参照できます。たとえば、次の数式は完全修飾名で 2 つのテーブルから列を参照する方法を示しています。

= SUM (' 新しい Sales'[Amount]) + SUM('Past Sales'[Amount])

PowerPivot で数式を評価すると、最初に全体的な構文チェックが行われます。その後、指定した列およびテーブルの名前がチェックされ、現在のコンテキストに適合しているかどうかが照合されます。名前があいまいな場合や、列またはテーブルが見つからない場合は、数式がエラーになります (エラーが発生したセルでは、データ値の代わりに #ERROR という文字列が表示されます)。テーブル、列、およびその他のオブジェクトの名前付けに関する要件については、「PowerPivot の DAX 構文の仕様」の「名前付けに関する要件」をご覧ください。

注: コンテキストは PowerPivot データ モデルの重要な機能で、動的な数式の作成を可能にします。コンテキストは、データ モデル内のテーブル、テーブル間のリレーションシップ、適用されたフィルターによって決定されます。詳しくは、「DAX の数式のコンテキスト」をご覧ください。

テーブルのリレーションシップ

テーブルは他のテーブルに関連付けることができます。リレーションシップを作成すると別のテーブルのデータを参照できるようになるので、関連する値を使用して複雑な計算を行うことができます。たとえば、計算列を使用し、現在の再販業者に関連付けられている出荷レコードをすべて検索し、それぞれの輸送費を合計することができます。この結果はパラメーター化されたクエリと同じです。現在のテーブルの各行に対して異なる合計を計算できます。

DAX 関数の多くでは、参照先の列を見つけて意味のある結果を返すために、テーブル間のリレーションシップが必要になります。リレーションシップを特定しようとする関数もありますが、最適な結果を得るには、可能な限り、常にリレーションシップを作成してください。

ピボットテーブルを使用する場合は、集計データを正しく計算できるように、ピボットテーブルで使用されるすべてのテーブルを関連付けることが特に重要になります。詳しくは、「ピボットテーブルでのリレーションシップの操作」をご覧ください。

数式内のエラーのトラブルシューティング

計算列を定義するときにエラーが発生した場合は、その数式に構文エラーまたはセマンティック エラーが含まれている可能性があります。

一番簡単に解決できるのは構文エラーです。多くの場合、かっこやカンマが抜けています。個々の関数の構文については、「DAX 関数リファレンス」をご覧ください。

構文エラー以外のエラーは、構文は正しくても、値や参照されている列が、数式のコンテキストで意味をなしていないときに発生します。このようなセマンティック エラーの原因には次のような問題が考えられます。

  • 数式が、存在しない列、テーブル、または関数を参照している。

  • 数式は正しいように見えるが、PowerPivot がデータをフェッチしたときに型の不一致が検出され、エラーが発生する。

  • 数式から関数に、誤った数値または型のパラメーターが渡されています。

  • 数式がエラーを含む別の列を参照しているため、その値が無効になっています。

  • 数式が処理されていない列を参照する。ブックを手動モードに変更し、変更を行い、その後、データまたは計算を更新していない場合にこの状況が発生します。

最初の 4 つのケースでは、DAX により、無効な数式を含む列全体にフラグが設定されます。最後のケースでは、DAX により、この列が灰色で表示され、列が未処理の状態であることが示されます。

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

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

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

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

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

×