この記事では、計算列とメジャーの両方の数式を作成する基本的な方法について 説明 PowerPivot。 DAX を初めから使用する場合は、「クイック スタート: DAX の基本を 30 分で学習する」 を参照してください。
数式の基本
PowerPivot テーブルとピボットテーブルでカスタム計算を作成するためのデータ分析式 (DAX) PowerPivot 提供Excelします。 DAX には、Excel 数式で使用される関数と、リレーショナル データを操作し、動的集計を実行するように設計された追加の関数が含まれています。
計算列で使用できる基本的な数式を次に示します。
数式 |
説明 |
|
列のすべての行に今日の日付を挿入します。 |
|
列のすべての行に値 3 を挿入します。 |
|
[Column1] と [Column2] の同じ行に値を追加し、計算列の同じ行に結果を入力します。 |
集計列の PowerPivot を作成する場合と同じ方法で、数式を作成Microsoft Excel。
数式を作成する場合は、次の手順を使用します。
-
各数式は、等号で始まる必要があります。
-
関数名を入力または選択するか、式を入力できます。
-
関数または名前の最初の数文字の入力を開始すると、AutoComplete には使用可能な関数、テーブル、列の一覧が表示されます。 Tab キーを押して、オートコンプリート リストから数式に項目を追加します。
-
[Fx] ボタンをクリックすると、使用可能な関数の一覧が表示されます。 ドロップダウン リストから関数を選択するには、方向キーを使用して項目を強調表示し 、[OK] をクリックして関数を数式に追加します。
-
可能なテーブルと列のドロップダウン リストから選択するか、値または別の関数を入力して、関数に引数を指定します。
-
構文エラーを確認する: すべてのかっこが閉じ、列、テーブル、および値が正しく参照されていることを確認します。
-
Enter キーを押して式を確定します。
注: 集計列では、数式を受け入れるとすぐに、列に値が設定されます。 メジャーでは、Enter キーを押すとメジャー定義が保存されます。
単純な数式を作成する
単純な数式を含む集計列を作成するには
その後、すべての行の新しい集計列に値が入力されます。 |
オートコンプリート使用のヒント
-
入れ子になった既存の関数の途中で、数式オートコンプリートを使用できます。 挿入ポイントの直前のテキストに基づいてドロップダウン リストの値が表示され、挿入ポイントの後のすべてのテキストは元のまま残ります。
-
PowerPivot には、関数の閉じかっこを追加する機能や、かっこを自動的に照合する機能はありません。 各関数が構文的に正しいか、数式を保存または使用できないことを確認する必要があります。 PowerPivot かっこが強調表示され、適切に閉じているか確認しやすくなります。
テーブルと列の操作
PowerPivot テーブルは、テーブルExcel似ていますが、データと数式の動作方法が異なります。
-
セル内の PowerPivot 、個々のセル、範囲参照、または配列ではなく、テーブルと列でのみ機能します。
-
数式では、リレーションシップを使用して、関連テーブルから値を取得できます。 取得される値は、常に現在の行の値に関連付けされます。
-
数式をワークシート PowerPivot に貼り付けExcel貼り付けすることはできません。その逆も同様です。
-
ワークシート内で行う場合と同様に、不規則なデータや "不規則な" Excelすることはできません。 テーブル内の各行には、同じ数の列が含まれている必要があります。 ただし、一部の列には空の値を含めることができます。 Excelデータ テーブルと PowerPivot データ テーブルは交換できませんが、 PowerPivot から Excel テーブルにリンクし、Excel データを PowerPivotに貼り付けます。 詳細については、「リンク テーブルを使用 してデータ モデルにワークシート データを追加する」と「Power Pivot のデータ モデルに行をコピーして貼り付ける」を参照してください。
数式と式のテーブルと列を参照する
テーブルと列は、その名前を使用して参照できます。 たとえば、次の数式は、完全修飾名を使用して 2 つのテーブルの列を参照する方法を示しています。
=SUM('New Sales'[Amount]) + SUM('Past Sales'[Amount])
数式が評価された場合、 PowerPivot は最初に一般的な構文をチェックし、指定した列とテーブルの名前を、現在のコンテキスト内の可能な列とテーブルに対してチェックします。 名前があいまいな場合、または列またはテーブルが見つからない場合は、数式にエラーが発生します (エラーが発生するセルのデータ値ではなく #ERROR 文字列)。 テーブル、列、その他のオブジェクトの名前付け要件の詳細については、「Power Pivot の DAX 構文仕様の名前付け要件」 を参照してください。
注: コンテキストは、動的な数式を作成 PowerPivot データ モデルの重要な機能です。 コンテキストは、データ モデル内のテーブル、テーブル間のリレーションシップ、および適用されているフィルターによって決まります。 詳細については、「DAX の数式のコンテキスト」を参照してください。
テーブルのリレーションシップ
テーブルは、他のテーブルに関連付けできます。 リレーションシップを作成すると、別のテーブルのデータを検索し、関連する値を使用して複雑な計算を実行できます。 たとえば、集計列を使用して、現在のリセラーに関連するすべての出荷レコードを検索し、それぞれの配送コストを合計できます。 この効果は、パラメーター化されたクエリに似たものになります。現在のテーブルの行ごとに異なる合計を計算できます。
多くの DAX 関数では、参照した列を見つけて意味のある結果を返す目的で、テーブル間または複数のテーブル間にリレーションシップが存在する必要があります。 他の関数はリレーションシップの識別を試み、ただし、最良の結果を得る場合は、可能な限り常にリレーションシップを作成する必要があります。
ピボットテーブルを使用する場合、サマリー データを正しく計算できるよう、ピボットテーブルで使用されているすべてのテーブルを接続することが特に重要です。 詳細については、「ピボットテーブルでのリレーションシップの操作」を参照してください。
数式のエラーのトラブルシューティング
計算列を定義するときにエラーが発生した場合、構文エラーまたはセマンティック エラーが数式に含まれている可能性があります。
一番簡単に解決できるのは構文エラーです。 多くの場合、かっこやカンマが抜けています。 個々の関数の構文のヘルプについては 、「DAX 関数リファレンス」を参照してください。
構文エラー以外のエラーは、構文は正しくても、値や参照されている列が、数式のコンテキストで意味をなしていないときに発生します。 このようなセマンティック エラーは、次の問題によって発生する可能性があります。
-
数式が、存在しない列、テーブル、または関数を参照しています。
-
数式は正しいと思いますが、データを PowerPivot すると、型の不一致が検出され、エラーが発生します。
-
数式から関数に、誤った数値または型のパラメーターが渡されています。
-
数式がエラーを含む別の列を参照しているため、その値が無効になっています。
-
数式は、処理されていない列を参照します。 これは、ブックを手動モードに変更し、変更を加えた後、データを更新したり、計算を更新したりしない場合に発生する可能性があります。
1 つめから 4 つめのケースでは、DAX により、列全体に無効な数式が含まれているというフラグが設定されます。 最後のケースでは、DAX はこの列を灰色で表示し、列が未処理の状態であることを示します。