クイック スタート: 30 分で学ぶ DAX の基礎

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

このクイック スタートは、Excel の PowerPivot または SQL Server Data Tools によって作成されたテーブル モデル プロジェクトを初めて使うユーザー向けに用意されています。このクイック スタートは、Data Analysis Expressions (DAX) を使っていくつかの基本的なデータ モデリングと分析に関する問題を解決する方法をわかりやすく手短に説明することを目的としています。このトピックには、概念情報、一連の演習タスク、および学習内容を確認するためのいくつかの問題が含まれています。このトピックを完了すると、DAX の最も基本的な概念を理解したことになります。

DAX とは

DAX は、計算を実行して 1 つ以上の値を返すために数式 (式) 内で使用できる関数、演算子、および定数のコレクションです。つまり、DAX を使用すると、モデル内に既にあるデータから新しい情報を作成できます。

DAX が重要な理由

ブックを作成し、その中にデータをインポートするのは簡単です。DAX 数式を使用しなくても、重要な情報を表示するピボットテーブルやピボットグラフを作成することができます。しかし、日付範囲が異なる複数の製品カテゴリにわたって重要な販売データを分析する必要がある場合はどうしたらよいでしょうか。また、複数のデータ ソースの複数のテーブルから重要な在庫データを結合する必要がある場合はどうしたらよいでしょうか。DAX の数式は、こうした機能に加え、数多くの重要な機能を提供します。効果的な DAX 数式の作成方法を学習することで、データを有効に活用できます。必要な情報を入手したら、最終的な収益に影響を与える実際のビジネス上の問題を解決する作業に着手できます。これがビジネス インテリジェンスであり、DAX がこれを使うための手助けとなります。

前提条件

Microsoft Excel での数式の作成に慣れている人は多いことでしょう。この知識は DAX を理解するうえで役に立ちます。しかし、Excel の数式を使用した経験がなくても、ここで説明する概念を理解することで、DAX 数式を作成し現実世界の BI の問題をすぐに解決することができます。

しようとしてフォーカスに理解 DAX の数式の計算に使用します。PowerPivotヘルプで説明する、どちらの計算列メジャー (集計フィールドとも呼ばれます) の両方の基本的な概念を理解しているか。Excel のオーサリング環境とツールでPowerPivotの必要があります。

サンプル ブック

DAX を学習するにあたって最善の方法は、基本的な数式を作成し、実際のデータを使い、自分で結果を確認することです。ここで使う例およびタスクでは、Contoso Sample DAX Formulas.xlsx ブックを使います。このブックは、http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409 からダウンロードできます。コンピューターにダウンロードしたブックを開き、PowerPivot ウィンドウを開きます。

作業の開始

ここでは、DAX の構文、関数、およびコンテキストの 3 つの重要かつ基本的な概念について説明します。DAX にはこれ以外にも重要な概念がありますが、この 3 つの概念を理解することが DAX のスキルを得るための最適な基盤となります。

構文

数式を作成する前に、DAX の数式の構文を見てみましょう。構文には、数式を構成するさまざまな要素、つまり記述方法が含まれています。例として、FactSales テーブル内の計算列 (Margin 列) の各行の新しいデータ (値) を作成するための単純な DAX 式を見てみましょう (わかりやすくするために数式の文字に色を付けてあります)。

計算列の数式

この数式の構文には、次の要素が含まれています。

  1. 等号演算子 (=) は、数式の開始を示します。この数式が計算されると、結果または値が返されます。値を計算する数式は、すべて等号で開始されます。

  2. 参照されている列 [SalesAmount] には、減算する値が含まれています。数式内の列参照は、常に角かっこ [] で囲みます。セルが参照される Excel の数式とは異なり、DAX の数式では常に列が参照されます。

  3. 減算 (-) 数学演算子。

  4. 参照されている列 [TotalCost] には、[SalesAmount] 列の値から減算する値が含まれています。

DAX 数式の読み方を理解するにあたり、それぞれの要素を分解し、日常で使用している言語で読み替えると効果的です。たとえば、この数式は次のように読むことができます。

FactSales テーブルの Margin 計算列の各行について、[TotalCost] 列の値を [SalesAmount] 列の値から減算 (-) して値を計算 (=) する。

別の種類の測定値で使用されている 1 つの数式を見てを見てみましょう。

計算列の数式

この数式には、次の構文要素が含まれています。

  1. メジャーの名前の売り上げ高の合計を計算します。メジャーの数式では、それに続けて計算式が続く、コロン、メジャーの名前を含めることができます。

  2. 等号演算子 (=) は、計算式の開始を示します。式が計算されると、結果が返されます。

  3. SUM 関数は、[SalesAmount] 列のすべての数値を合計します。関数については、後で説明します。

  4. 1 つまたは複数の引数を囲むかっこ ()。すべての関数で少なくとも 1 個の引数が必要です。引数は、値を関数に渡します。

  5. 参照される FactSales テーブル。

  6. FactSales テーブル内の参照される [SalesAmount] 列。この引数により、SUM 関数は合計する列を識別します。

この数式は次のように読むことができます。

メジャー での計算 (=) の値の合計の Sum of Sales Amount という名前で、[ SalesAmount ] 列で、 FactSales テーブル

なっているとき値ドロップ ゾーン ピボット テーブルのフィールド リストで、このメジャーを計算して、ピボット テーブル内の各セルによって定義された、米国に携帯電話などの値を返します。

この数式と Margin 計算列に使用された数式とを比較するといくつかの点が異なります。特に、この数式には SUM 関数が使用されています。関数は事前に作成された数式で、複雑な計算や数値、日付、時間、文字列などの操作を行う場合に便利です。関数については、後で説明します。

Margin 計算列とは異なり、以前のバージョンが表示 [SalesAmount] 列の列が属しているテーブル FactSales が続くされます。これは、テーブル名の前の列名が含まれる完全修飾列名と呼ばれます。テーブル名は、数式に含まれる列の同じテーブル内で参照は必要ありません。これにより、短く、読みやすく、多くの列を参照する数式が長い。ただしは常に同じテーブルにある場合でも、メジャー数式でテーブル名を含めることをお勧めします。

注: テーブルの名前に空白や予約されたキーワード、または無効な文字が含まれる場合、テーブル名を単一引用符で囲む必要があります。使用しているロケールで文字セットがサポートされているかどうかに関係なく、名前に ANSI 英数文字の範囲にない文字が含まれている場合も、テーブル名を引用符で囲む必要があります。

数式を正しい構文で指定することは重要です。ほとんどの場合、構文が正しくないと、構文エラーが返されます。また、構文が正しい場合でも、返される値が期待した値と異なる場合があります。PowerPivot (および SQL Server Data Tools) には、ユーザーが適切な要素を選ぶのをサポートして構文的に正しい数式を作成するための IntelliSense 機能が用意されています。

それでは単純な数式を作成しましょう。このタスクでは、数式の構文を理解し、数式バーの IntelliSense 機能がいかに便利であるかを体験します。

タスク: 計算列のための単純な数式を作成する

  1. PowerPivot ウィンドウをまだ開いていない場合は、Excel の [PowerPivot] リボンの [PowerPivot ウィンドウ] をクリックします。

  2. PowerPivot ウィンドウで、FactSales テーブル (tab) をクリックします。

  3. 右端までスクロールし、列ヘッダーの [列の追加] をクリックします。

  4. モデル デザイナー ウィンドウの上部にある数式バー内をクリックします。

    Power Pivot 数式バー

    カーソルが数式バーに表示されます。数式バーは、計算列や計算フィールドの数式を入力できる場所です。

    ここで、数式バーの左側にある 3 つのボタンについて説明します。

    数式バー

    数式バー内でカーソルがアクティブになると、これらの 3 つのボタンがアクティブになります。左端のボタン (X) は、キャンセル ボタンです。実際にクリックしてみましょう。カーソルが数式バーから消え、キャンセル ボタンとチェックマーク ボタンも表示されなくなります。もう一度数式バー内をクリックします。キャンセル ボタンとチェックマーク ボタンが再び表示されます。これは、新しい数式の入力を開始する準備ができたことを示します。

    チェックマーク ボタンは、式の確認用のボタンです。数式を入力するまでは意味を持ちません。これについては、後で説明します。

    [ Fx ] ボタンをクリックします。新しい] ダイアログ ボックスが表示されることが表示されます。関数の挿入] ダイアログ ボックス。関数の挿入] ダイアログ ボックスは、DAX 数式の入力を開始するのには最も簡単な方法です。関数メジャーを作成する少し後で、ここでは、集計列の数式に関数を追加する必要はありませんが、数式に追加します。先に移動して、関数の挿入] ダイアログ ボックスを閉じます。

  5. 数式バーで、等号 = に続けて左角かっこ [ を入力します。FactSales テーブルのすべての列が含まれた小さなウィンドウが表示されます。これが、IntelliSense の機能です。

    計算列は常に作業中のアクティブ テーブルに作成されるため、列名の前にテーブル名を記述する必要はありません。先へ進み、下へスクロールしたら、[SalesQuantity] をダブルクリックします。任意の列名までスクロールした後 Tab キーを押す方法もあります。

    カーソルが [SalesQuantity] の右側でアクティブになります。

  6. スペースを入力し、減算演算子 (-) を入力したら、もう一度スペースを入力します。

  7. もう一度左角かっこ [ を入力します。[ReturnQuantity] 列を選び、Enter キーを押します。

    エラーが発生する場合は、構文が正しいことを確認してください。必要に応じて、前に説明した Margin 計算列の数式と比較します。

    Enter キーを押して数式を完成させると、PowerPivot ウィンドウの下部のステータス バーに "計算しています" と表示されます。300 万行を超える新しい値を計算するときでも、この処理はすぐに完了します。

  8. 列ヘッダーを右クリックし、列の名前を NetSales に変更します。

これで完成です。単純でありながら強力な DAX 数式を作成できました。NetSales 数式により、FactSales テーブルのそれぞれの行について、[ReturnQuantity] 列の値を [SalesQuantity] 列の値から減算した値が計算されます。ここで、"それぞれの行について" という表現に注目してください。これは、DAX におけるもう 1 つの重要な概念である行コンテキストに関係します。行コンテキストについては、後で説明します。

ヒント: 

DAX 数式に演算子を入力するときは、使用している引数のデータ型を理解することが重要です。たとえば、「= 1 & 2」という数式を入力した場合に返される値は、文字列値の "12" です。これは、アンパサンド (&) 演算子が文字列を連結するための演算子であるためです。DAX によるこの数式の解釈は、"値 1 を文字列として受け取り、値 2 を文字列として追加した結果を計算する" となります。また、「= 1 + 2」と入力した場合、この数式は、"数値 1 を受け取り、数値 2 を加算した結果を計算する" と解釈されます。結果は、数値の "3" になります。DAX では、引数で使用されている列のデータ型ではなく、数式内の演算子に応じて結果の値を計算します。DAX のデータ型は重要ですが、このクイック スタートの範囲外です。DAX 数式のデータ型と演算子の詳細については、オンライン ブックの「Data Analysis Expressions (DAX) リファレンス」(http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) を参照してください。

別のファイルを試してみましょう。現時点では、数式を入力して、IntelliSense を使用して、メジャーを作成します。心配する必要が多すぎる場合、数式をよく理解していません。重要な点を次のとおりでは、いくつかの要素を正しい構文共同で数式を作成する方法について説明します。

タスク: メジャーの数式を作成します。

  1. FactSales テーブルで、計算領域の任意の空白セルをクリックします。これは、PowerPivot ウィンドウのテーブルの下の空白セルの領域です。

PowerPivot 計算領域

  1. 数式バーに、「Previous Quarter Sales:」という名前を入力します。

  2. 計算式を開始する等号 (=) を入力します。

  3. 最初の数文字として「CAL」を入力し、使用する関数をダブルクリックします。この数式では、CALCULATE 関数を使用します。

  4. CALCULATE 関数に渡す引数を開始する左かっこ ( を入力します。

    左かっこを入力すると、IntelliSense により、CALCULATE 関数に必要な引数が表示されます。引数については後で説明します。

  5. FactSales テーブルの最初の数文字を入力し、次にドロップダウン リストの FactSales[Sales] をダブルクリックします。

  6. コンマ (,) を入力して最初のフィルターを指定します。次に、「PRE」と入力し、PREVIOUSQUARTER 関数をダブルクリックします。

    PREVIOUSQUARTER 関数を選ぶと、左かっこがもう 1 つ表示されます。これは、PREVIOUSQUARTER 関数用に別の引数が必要であることを示しています。

  7. 最初の数文字として「Dim」を入力し、DimDate[DateKey] をダブルクリックします。

  8. 2 つの右かっこ )) を入力して、PREVIOUSQUARTER 関数と CALCULATE 関数に渡される 2 つの引数を閉じます。

    数式は次のようになります。

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. 数式バーの式の確認用のボタンをクリックして、数式を検証します。エラーが発生する場合は、構文の各要素を確認します。

あなたことです。DAX、およびいないを簡単に一度にを使用するメジャーを作成したとします。次の数式では、ピボット テーブルまたはピボット グラフに適用されたフィルターによって、前の四半期の売上合計を計算します。

ここでは、DAX 数式のいくつかの重要な側面が示されました。最初に、この数式には、2 つの関数が含まれています。PREVIOUSQUARTER 関数は、CALCULATE 関数に渡される引数として入れ子にされています。DAX の数式には、最大で 64 個の関数を入れ子にして含めることができます。ただし、そのような深いレベルに入れ子にされた関数を数式に含めることはあまりありません。実際、このような数式は作成およびデバッグするのが困難で、処理速度も速くなりません。

この数式では、フィルターも使用しました。フィルターを使用すると、計算の対象を絞り込むことができます。この場合、1 つのフィルターを引数として選択しましたが、これは実際は別の関数です。フィルターについては、後で説明します。

最後に、CALCULATE 関数を使用しました。これは、DAX の最も強力な関数の 1 つです。データ モデルを作成し、より複雑な式を作成するときに、この関数を使用する機会が増えるでしょう。COUNT 関数についての説明はこのクイック スタートの対象外です。DAX に関する知識が増えたら、この関数に注目してください。

注: 通常、DAX 数式でタイム インテリジェンス関数を使用するには、[日付テーブルとしてマーク] ダイアログ ボックスを使用して一意の日付列を指定する必要があります。Contoso DAX Formula Samples.xlsx ブックでは、DimDate テーブルの DateKey 列が一意の日付列として選択されています。

特別課題

作ったりする:「とは、最も簡単な DAX 数式を作成できます」また、回答するには、'する必要はありませんの数式' です。また、これがまさに、測定値の標準の集計関数を使用して行うことができます。ほぼすべてのデータ モデルをフィルター処理して、集約されたデータを計算する必要があります。たとえば、前述した Sum of Sales Amount メジャーの SUM 関数を使用して、特定の列のすべての数値を合計します。DAX には、同様の値を集計するその他のいくつかの機能が含まれています。[オート Sum 機能を使用して、標準の集計を使用して数式を自動的に作成することができます。

特別課題タスク: オート Sum 機能を使用してメジャー数式を作成します。

  1. FactSales テーブルで、ReturnQuantity 列までスクロールし、列ヘッダーをクリックして列全体を選びます。

  2. [ホーム] タブの [計算] グループの [オート SUM] をクリックします。

PowerPivot のオート SUM

  1. オート Sum] の横にある下向き矢印をクリックし、[平均] をクリックし、(その他の標準の集計関数が使用できる、すぎる)。
    の ReturnQuantity の平均の名前で新しいメジャーを作成する、すぐに: 後で、数式 = AVERAGE([ReturnQuantity]) します。

このように、操作は簡単です。もちろん、作成するすべての数式がこのように単純であるとは限りません。しかし、オート SUM 機能により、標準の集計計算を使用して数式をすばやく簡単に作成できます。

これで、DAX の数式で使用される構文をよく理解できることでしょう。ここでは、IntelliSense、オート SUM など、正確な数式をすばやく簡単に作成できるようにするいくつかの機能についても説明しました。当然ですが、構文について学習できるリソースはたくさんあります。構文の詳細については、DAX リファレンスや SQL オンライン ブックを参照してください。

構文に関するクイズ

  1. 数式バーにあるこのボタンはどのような機能を持ちますか。
    [関数] ボタン

  2. DAX の数式では必ず列名を特定の文字で囲む必要があります。その文字とは何ですか。

  3. 次の記述に従って数式を作成してください。
    DimProduct テーブルの UnitMargin 計算列の各行について、UnitPrice 列の値から UnitCost 列の値を減算するという計算を実行する。

正解はこのトピックの最後にあります。

関数

関数は、引数と呼ばれる特定の値を特定の順序または構造で使用して計算を実行する定義済みの式です。引数には、他の関数、他の数式、列参照、数値、文字列、論理値 (TRUE、FALSE など)、または定数を指定できます。

DAX に用意されている関数のカテゴリには、日付と時刻、情報、論理、数学、統計、文字列、およびタイム インテリジェンスがあります。DAX の関数の多くは Excel の数式に使用される関数とよく似ていますが、DAX の関数には次の特徴があります。

  • DAX 関数は、常に列全体またはテーブル全体を参照します。テーブルまたは列の特定の値のみを使用する場合は、数式にフィルターを追加できます。

  • 行ごとに計算をカスタマイズする場合は、現在の行の値か関連する値を一種の引数として使用できる DAX の関数を使用します。これによって、コンテキストによって変化する計算を実行できます。コンテキストについては、後で説明します。

  • DAX には、値ではなくテーブルを返す多くの関数が含まれています。テーブルは表示されませんが、他の関数の入力として使用されます。たとえば、テーブルを取得して、含まれる個別値をカウントしたり、フィルター処理されたテーブルまたは列における動的な合計を計算したりできます。

  • DAX には、さまざまなタイム インテリジェンス関数が含まれます。これらの関数を使用すると、日付範囲を定義または選択して、それに基づいて動的な計算を実行できます。たとえば、並列期間の合計を比較できます。

ときには、数式内でどの関数を使う必要があるかを判断するのが難しいことがあります。PowerPivot と SQL Server Data Tools のテーブル モデル デザイナーに用意されている関数の挿入機能のダイアログ ボックスでは、関数をカテゴリ別に選ぶことができ、また各関数の簡単な説明が表示されます。

関数の挿入

それでは、新しい数式を作成しましょう。ここでは、関数の挿入機能を使用して関数を選びます。

タスク: 関数の挿入機能を使用して数式に関数を追加する

  1. FactSales テーブルで、右端までスクロールし、列ヘッダーの [列の追加] をクリックします。

  2. 数式バーに等号 (=) を入力します。

  3. [関数の挿入] ボタンをクリックします。 関数の挿入 [関数の挿入] ダイアログ ボックスが開きます。

  4. [関数の挿入] ダイアログ ボックスで、[カテゴリの選択] ボックスの一覧をクリックします。既定では、[すべて] が選択され、[すべて] カテゴリに含まれるすべての関数がその下に表示されます。この状態では表示される関数の数が多すぎます。そこで関数をフィルター選択すると、目的の関数の種類を見つけやすくなります。

  5. この数式では、別のテーブルに既に存在するいくつかのデータを返します。そこで、[フィルター] カテゴリに含まれる関数を使用することにします。[フィルター] カテゴリをクリックします。次に、[関数の選択] ボックスの一覧を下へスクロールし、RELATED 関数をダブルクリックします。[OK] をクリックして、[関数の挿入] ダイアログ ボックスを閉じます。

  6. IntelliSense を使用して、DimChannel[ChannelName] 列を見つけ、選択します。

  7. 数式を閉じ、Enter キーを押します。

  8. Enter キーを押して数式を完成させると、PowerPivot ウィンドウの下部のステータス バーに "計算しています" と表示されます。FactSales テーブルに、DimChannel テーブルのチャネル情報を使う新しい列が作成されます。

  9. 列の名前を Channel に変更します。

    数式は次のようになります: =RELATED(DimChannel[ChannelName])

ここでは、DAX のもう 1 つの重要な RELATED 関数について説明しました。RELATED 関数は、別のテーブルの値を返します。RELATED は、現在開いているテーブルと取得する値が含まれているテーブルとの間にリレーションシップが存在する場合に使用できます。RELATED 関数には大きな可能性があります。このケースでは、FactSales テーブルの各販売に対して販売チャネルを含めることができるようになりました。ここでピボットテーブルのフィールド リストの DimChannel テーブルを非表示にすると、移動が容易になり、本当に必要な重要な情報のみが表示されるようになります。前に説明した CALCULATE 関数と同様、RELATED 関数は重要であり、何度も使うことになるでしょう。

これまで見てきたように、DAX の関数を使用すると、強力な数式を作成できます。ここで触れたのは、関数の基礎にすぎません。DAX のスキルが向上するのに応じて、多くの異なる関数を使用して数式を作成できるようになります。すべての DAX 関数に関する詳細については、「Data Analysis Expressions (DAX) リファレンス」を参照してください。

関数に関するクイズ

  1. 関数が必ず参照するものは何ですか。

  2. 数式に複数の関数を含めることはできますか。

  3. 2 つのテキスト文字列を 1 つの文字列に連結する場合、どのカテゴリの関数を使用しますか。

正解はこのトピックの最後にあります。

コンテキスト

コンテキストは、理解しておく必要がある最も重要な DAX の概念の 1 つです。DAX には、行コンテキストとフィルター コンテキストの 2 種類のコンテキストがあります。最初に、行コンテキストについて説明します。

行コンテキスト

行コンテキストは、"現在の行" と最も容易に考えることができます。たとえば、構文に関する説明に示されていた Margin 計算列を思い出してください。"=[SalesAmount] - [TotalCost]" という数式は、テーブルの各行について、Margin 列の値を計算します。各行の値は、同じ行の [SalesAmount] 列と [TotalCost] 列の値から計算されます。DAX はコンテキストを持つため、Margin 列の各行の値を計算できます。それぞれの行について、[TotalCost] 列の値が取得され、[SalesAmount] 列の値からその値が減算されます。

次の図の選択されたセルの値に注目してください。現在の行の値 $49.54 は、[SalesAmount] 列の値 $101.08 から [TotalCost] 列の値 $51.54 を減算した結果です。

Power Pivot の行コンテスト

行のコンテキストは、集計列にだけ適用されません。行のコンテキストでは、数式がある関数テーブル内の 1 つの行を識別するフィルターを適用するときにも該当します。関数には、もともとがフィルター処理するテーブルの行ごとに行のコンテキストが適用されます。行のコンテキストの種類は、ほとんどの場合、メジャーに適用されます。

フィルター コンテキスト

フィルター コンテキストは、行コンテキストよりも理解することが少し難しい概念です。フィルター コンテキストは、"結果または値を決定する計算で適用される 1 つまたは複数のフィルター" と最も容易に考えることができます。

フィルター コンテキストは、行コンテキストの代わりに存在するのではなく、行コンテキストに追加する形で適用されます。たとえば、計算に含める値を絞り込むために、行コンテキストを指定するだけでなくその行コンテキストの特定の値 (フィルター) も指定するフィルター コンテキストを適用できます。

フィルター コンテキストは、ピボットテーブルで容易に見ることができます。たとえば、TotalCost を [値] 領域に追加し、Year と Region を [行] 領域または [列] 領域に追加した場合、特定の年および地域に基づいてデータのサブセットを選ぶフィルター コンテキストを定義することになります。

フィルター コンテキストが DAX に重要な理由、フィルター コンテキストは、ピボット テーブルの列と行ラベル、スライサーを追加して最も簡単に適用できる、中にフィルター コンテキスト適用できるのでも DAX の数式でなど、すべての関数を使用してフィルターを定義することによって関連、フィルター、関係、およびその他のメジャーと列を計算します。たとえば、メジャー StoreSales という名前には、次の数式を見てみましょう。

数式

この数式は、これまでに見てきた他のいくつかの数式より明らかに複雑です。ただし、他の数式と同様に、この数式も分解することでわかりやすくなります。

この数式には、次の構文要素が含まれています。

  1. メジャー名 StoreSales とそれに続けてコロン: します。

  2. 等号演算子 (=) は、数式の開始を示します。

  3. CALCULATE 関数は、指定されたフィルターによって修飾されたコンテキストで、引数として式を評価します。

  4. 1 つまたは複数の引数を囲むかっこ ()。

  5. 式と同じテーブル内のメジャー [Sales]。Sales メジャーには、数式が含まれて: = SUM(FactSales[SalesAmount]) します。

  6. コンマ (,) は、各フィルターを区切ります。

  7. 参照されている列と、フィルターとしての特定の値 DimChannel[ChannelName] ="Store"。

この数式のようになります値だけを販売、フィルターとして、Sales メジャーによって定義されたは"Store"フィルターとしての値を持つ DimChannel [ChannelName] 列の行に対して計算されます。

想像できるように、数式内でフィルター コンテキストを定義できると、強大な能力が得られます。関連テーブル内の特定の値のみを参照できることは、その一例にすぎません。この段階でコンテキストを完全に理解できなくても、心配する必要はありません。自分で独自に数式を作成する経験を積むことで、コンテキストをさらに理解でき、DAX においてコンテキストが重要である理由も理解できます。

コンテキストに関するクイズ

  1. コンテキストの種類を 2 つ挙げてください。

  2. フィルター コンテキストとは何ですか。

  3. 行コンテキストとは何ですか。

正解はこのトピックの最後にあります。

概要

DAX の最も重要な概念の基本を理解がある場合、これで、[自分で DAX の数式の計算列と計算メジャーの作成を開始できます。DAX を少しについては、注意を要する本当には、多くのリソースを使用するもあります。後何度か、このトピックを閲覧し、いくつか、独自の数式を調べたに関するその他の DAX 概念の詳細については、できる数式は、独自のビジネスの問題を解決します。多くの DAX リソースはPowerPivotヘルプでは、SQL Server オンライン ブック、ホワイト ペーパー、およびブログから Microsoft と先頭の BI 専門家の両方で使用できます。DAX リソース センター Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) は、開始する優れた場所です。Data Analysis Expressions (DAX) リファレンスもとても便利なリソースです。[お気に入り] に保存することを確認します。

ダウンロード (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) して入手できる "DAX in the BI Tabular Model" ホワイトペーパーには、ここで紹介した概念の詳しい説明に加え、その他の高度な概念および数式が数多く紹介されています。このホワイトペーパーでは、既にお持ちのものと同じ Contoso DAX Sample Formulas.xlsx DAX ブックも使用されます。

クイズの回答

構文:

  1. 関数の挿入機能を開きます。

  2. 角かっこ []。

  3. =[UnitPrice] - [UnitCost]

関数:

  1. テーブルと列。

  2. はい。1 つの数式に最大で 64 個の関数を入れ子にして含めることができます。

  3. 文字列関数

コンテキスト:

  1. 行コンテキストとフィルター コンテキスト。

  2. 単一の値を決定する計算内の 1 つまたは複数のフィルター。

  3. 現在の行。

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

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

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

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

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

×