クイック スタート: 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 Help」で説明されています。また、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. 売上金額のメジャー名の合計です。メジャーの数式には、小節名とコロンを続けて計算式を含めることができます。

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

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

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

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

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

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

測定売上金額の合計という名前を付けて、[SalesAmount] 列の値の合計を計算します。FactSalesテーブル。

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

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

前の余白計算列とは異なり、列 [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 と入力した場合、DAX は次の数式として読み取ります。数値1を取得し、数値2を加算して結果を計算します。結果は、当然 "3"、数値です。DAX は、引数で使用される列のデータ型に基づいてではなく、数式の演算子によって結果の値を計算します。DAX のデータ型は非常に重要ですが、このクイックスタートの範囲外です。dax の数式のデータ型と演算子の詳細については、Books Online の 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 関数は、計算関数に渡される引数として入れ子になっていることに注意してください。DAX の数式には、最大64の入れ子になった関数を含めることができます。これは、数式に入れ子になった関数が多数含まれている可能性は低いと考えられます。実際には、このような数式を作成してデバッグするのは非常に困難です。また、それはおそらく非常に高速ではありません。

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

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

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

特別課題

次のように求められることがあります。 ' 作成できる最も簡単な DAX の数式は何ですか? 'これに対する答えは、「必要のない数式」です。また、これは、メジャーで標準的な集計関数を使用して実行できる操作です。ほとんどのデータモデルでは、集約されたデータのフィルター処理と計算を行う必要があります。たとえば、前に表示した売上金額メジャーの合計の sum 関数を使用して、特定の列のすべての数値を加算します。DAX には、値を集計するその他の関数もいくつか含まれています。sum 機能を使用して、標準の集計を使用して数式を自動的に作成することができます。

追加の与信タスク: sum 機能を使用してメジャーの数式を作成する

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

  2. [ホーム] タブのリボンの [計算] グループで、[ sum ] ボタンをクリックします。

PowerPivot のオート SUM

[ sum] の横にある下向き矢印をクリックし、[平均] をクリックします (使用できるその他の標準的な集計関数にも注目してください)。

直ちに、ReturnQuantity の名前の平均と、数式 = average ([ReturnQuantity]) の順に新しいメジャーが作成されます。

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

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

構文に関するクイズ

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

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

  3. 次の数式を作成する方法: DimProductテーブル
    UnitMargin集計列の各行について、[単価] 列の値を減算して値を計算します。単価の値から

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

関数

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

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

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

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

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

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

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

関数の挿入

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

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

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

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

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

  4. [関数の挿入] ダイアログボックスで、[分類項目の選択] ボックスをクリックします。既定では、[すべて] が選択され、[すべて] カテゴリのすべての関数が次のように表示されます。これは多くの関数であるため、関数をフィルター処理して、探している関数の種類を見つけやすくする必要があります。

  5. この数式では、既に別のテーブルに存在するいくつかのデータを返す必要があります。そのためには、フィルターカテゴリ内の関数を使用することになります。[フィルター ] カテゴリをクリックし、[関数の選択] で下にスクロールして、関連する関数をダブルクリックします。[ Ok ] をクリックして、[関数の挿入] ダイアログボックスを閉じます。

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

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

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

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

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

DAX では、関連する関数を別の非常に重要な関数に導入したばかりです。関連する関数は、別のテーブルの値を返します。関連する情報を使うことができます。現在のテーブルと、取得する値が含まれているテーブルの間に関係があります。もちろん、関連する関数には計り知れない可能性があります。この場合は、FactSales テーブルで各販売の売上チャネルを含めることができます。ピボットテーブルのフィールドリストから DimChannel テーブルを非表示にできるようになりました。これにより、ナビゲーションが簡単になり、必要な情報だけを表示することができます。前に説明した計算関数と同様に、関連する関数は非常に重要であり、何度も使うことがあります。

このように、DAX の関数を使用すると、非常に強力な数式を作成することができます。実際には、関数の基本にのみ触れました。DAX のスキルが向上すると、さまざまな関数を使用して数式を作成できます。すべての dax 関数の詳細を知る最適な場所の1つは、データ分析式 (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]。売上メジャーには、数式: = SUM (FactSales [SalesAmount]) があります。

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

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

この数式を使用すると、売上メジャーで定義されている売上値のみをフィルターとして、DimChannel [ChannelName] 列の値が "Store" である行のみをフィルターとして計算することができます。

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

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

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

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

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

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

概要

dax で最も重要な概念について基本的に理解できるようになったので、独自に計算列とメジャーの dax 式を作成することができます。DAX は、実際には学習するのに少し難しい場合がありますが、利用できるリソースは多数あります。このトピックを数回読み、独自の数式をいくつか試すと、独自のビジネス上の問題を解決するのに役立つその他の DAX の概念と数式の詳細を知ることができます。PowerPivot Help、SQL Server Books Online、ホワイトペーパー、Microsoft と主要な BI プロフェッショナルの両方からのブログには、多くの DAX リソースが用意されています。DAX リソースセンター Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) は、開始するのに最適な場所です。データ分析式 (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. Text 関数

コンテキスト:

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

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

  3. 現在の行。

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

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

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

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

×