DAX関数-クイックガイド

DAXは Dアタ A分析Ex圧力。DAXは数式言語であり、数式または式で1つ以上の値を計算して返すために使用できる関数、演算子、および定数のコレクションです。DAXは、Microsoft Excel PowerPivotのデータモデルおよびMicrosoftPowerBIに関連付けられている数式言語です。

DAXはプログラミング言語ではありませんが、ユーザーが計算列と計算フィールド(メジャーとも呼ばれます)でカスタム計算を定義できるようにする数式言語です。DAXは、データモデルの既存のデータから新しい情報を作成するのに役立ちます。DAX式を使用すると、データモデリング、データ分析を実行し、その結果をレポートと意思決定に使用できます。

DAXの詳細については、このチュートリアルライブラリのチュートリアル–DAXを参照してください。

DAX関数とは何ですか?

DAX関数は、DAX言語で提供される組み込み関数であり、データモデルのテーブル内のデータに対してさまざまなアクションを実行できるようにします。

DAX関数を使用すると、データモデルで一般的に使用されるデータ計算を実行できます。一部のDAX関数は、Excel関数と同じ名前と機能を持っていますが、次のセクションで強調するように、DAXデータ型を使用し、テーブルと列を操作するように変更されています。DAXには、リレーショナルデータを処理し、動的な集計を実行するように設計された追加の機能があります。

DAX関数は、データのモデリングとレポート作成のためのDAXの使用において重要な役割を果たします。

Excel関数とDAX関数

Excel関数とDAX関数の間には特定の類似点があり、特定の違いもあります。以下は、Excel関数とDAX関数の類似点と相違点です。

Excel関数とDAX関数の類似点

  • 特定のDAX関数は、Excel関数と同じ名前と同じ一般的な動作をします。

  • DAXには、Excelの配列およびベクトルルックアップ関数と同様のルックアップ関数があります。

Excel関数とDAX関数の違い

  • DAX関数は、さまざまなタイプの入力を受け取るように変更されており、一部のDAX関数は異なるデータ型を返す場合があります。したがって、これらの関数は同じ名前ですが、これらの関数の使用法を個別に理解する必要があります。

  • 必要な変更を加えずに、Excel数式でDAX関数を使用したり、DAX数式でExcel関数を使用したりすることはできません。

  • Excel関数は、セル参照またはセル範囲を参照として受け取ります。DAX関数は、セル参照またはセル範囲を参照として受け取ることはありませんが、代わりに列またはテーブルを参照として受け取ります。

  • Excelの日付と時刻の関数は、日付をシリアル番号として表す整数を返します。DAXの日付と時刻の関数は、DAXにはあるが、Excelにはない日時データ型を返します。

  • Excelにはテーブルを返す関数はありませんが、一部の関数は配列で機能します。DAX関数の多くは、完全なテーブルと列を簡単に参照して計算を実行し、テーブルまたは値の列を返すことができます。DAXのこの機能により、DAXが使用されるPower Pivot、Power View、およびPowerBIに電力が追加されます。

  • DAXルックアップ関数では、それぞれのテーブル間に関係が確立されている必要があります。

DAXパラメータの命名規則

DAXには、DAX関数の使用法と理解を容易にするための標準パラメーター名があります。さらに、パラメータ名に特定のプレフィックスを使用できます。プレフィックスが十分に明確である場合は、プレフィックス自体をパラメータ名として使用できます。

DAX関数の構文を理解し、必要なパラメーターの値を正しく使用するには、DAXパラメーターの命名規則を理解する必要があります。

詳細については、「DAXパラメータの命名規則」の章を参照してください。

DAX関数の種類

DAXは以下のタイプの機能をサポートします。

  • DAXテーブル値関数
    • DAXフィルター機能
    • DAX集計関数
    • DAXタイムインテリジェンス機能
  • DAXの日付と時刻の関数
  • DAX情報関数
  • DAX論理関数
  • DAX数学および三角関数
  • DAXその他の機能
  • DAXの親と子の関数
  • DAX統計関数
  • DAXテキスト関数
  • DAX記述構造関数

DAXテーブル値関数

多くのDAX関数は、テーブルを入力テーブルまたは出力テーブル、あるいはその両方として受け取ります。これらのDAX関数は、DAXテーブル値関数と呼ばれます。テーブルは単一の列を持つことができるため、DAXテーブル値関数も入力として単一の列を取ります。次のタイプのDAXテーブル値関数があります-

  • DAX集計関数
  • DAXフィルター機能
  • DAXタイムインテリジェンス機能

DAX集計関数

DAX集計関数は、テーブルの行全体の式を集計し、計算に役立ちます。

詳細については、「DAX集計関数」の章を参照してください。

DAXフィルター機能

DAXフィルター関数は、現在の行に関連する列またはテーブルまたは値を返します。DAXフィルター関数を使用して、特定のデータ型を返し、関連するテーブルで値を検索し、関連する値でフィルター処理できます。DAXルックアップ関数は、テーブルとそれらの間の関係を使用して機能します。DAXフィルター関数を使用すると、データコンテキストを操作して、動的な計算を作成できます。

詳細については、「DAXフィルター機能」の章を参照してください。

DAXタイムインテリジェンス機能

DAXタイムインテリジェンス関数は、日付のテーブルを返すか、日付のテーブルを使用して集計を計算します。これらのDAX関数は、日、月、四半期、年などの期間を使用してデータを操作できるようにすることで、ビジネスインテリジェンス分析のニーズをサポートする計算を作成するのに役立ちます。

詳細については、「DAXタイムインテリジェンス機能」の章を参照してください。

DAXの日付と時刻の関数

DAXの日付と時刻の関数は、Excelの日付と時刻の関数に似ています。ただし、DAXの日付と時刻の関数は、DAXの日時データ型に基づいています。

詳細については、「DAXの日付と時刻の関数」の章を参照してください。

DAX情報関数

DAX情報関数は、引数として提供されたセルまたは行を調べて、値が期待される型と一致するかどうかを示します。

詳細については、「DAX情報機能」の章を参照してください。

DAX論理関数

DAX論理関数は、式の値に関する情報を返します。たとえば、DAX TRUE関数は、評価している式がTRUE値を返すかどうかを通知します。

詳細については、「DAX論理関数」の章を参照してください。

DAX数学および三角関数

DAXの数学関数と三角関数は、Excelの数学関数と三角関数に非常によく似ています。

詳細については、「DAXMathおよびTrig関数」の章を参照してください。

DAXの親と子の関数

DAXの親関数と子関数は、データモデルで親/子階層として表示されるデータを管理するのに役立ちます。

詳細については、「DAXの親関数と子関数」の章を参照してください。

DAX統計関数

DAX統計関数は、Excel統計関数と非常によく似ています。

詳細については、「DAX統計関数」の章を参照してください。

DAXテキスト関数

DAXテキスト関数はテーブルと列で機能します。DAXテキスト関数を使用すると、文字列の一部を返したり、文字列内のテキストを検索したり、文字列値を連結したりできます。日付、時刻、数値の形式を制御することもできます。

詳細については、「DAXテキスト機能」の章を参照してください。

DAXその他の機能

これらのDAX関数は、他のほとんどの関数が属するカテゴリでは定義できない固有のアクションを実行します。

詳細については、「DAXその他の機能」の章を参照してください。

DAX関数の説明構造

DAX数式でDAX関数を使用する必要がある場合は、関数を詳細に理解する必要があります。関数の構文、パラメータータイプ、関数が返すものなどを知っておく必要があります。

このチュートリアルでは、すべてのDAX関数に共通の関数記述構造を使用して、DAX関数を効果的に読み取って解釈できるようにします。

詳細については、「DAX関数の説明構造」の章を参照してください。

DAXには、DAX関数の使用法と理解を容易にするための標準パラメーター名があります。さらに、パラメータ名に特定のプレフィックスを使用できます。プレフィックスが十分に明確である場合は、プレフィックス自体をパラメータ名として使用できます。

DAX関数の構文を理解し、関連するDAX関数パラメーターのデータ値を適切に使用するには、DAXパラメーターの命名規則を理解する必要があります。

パラメータ名

以下はDAX標準パラメータ名です-

シニア番号 パラメータ名と説明
1

expression

単一のスカラー値を返すDAX式。式は、(行/コンテキストごとに)複数回評価されます。

2

value

単一のスカラー値を返すDAX式で、式は他のすべての操作の前に1回だけ評価されます。

3

table

データのテーブルを返すDAX式。

4

tableName

標準のDAX構文を使用した既存のテーブルの名前。式にすることはできません。

5

columnName

標準のDAX構文を使用する既存の列の名前。通常は完全修飾されています。式にすることはできません。

6

name

新しいオブジェクトの名前を提供するために使用される文字列定数。

7

order

ソート順を決定するために使用される列挙。

8

ties

タイ値の処理を決定するために使用される列挙。

9

type

PathItemおよびPathItemReverseのデータ型を決定するために使用される列挙。

パラメータ名のプレフィックスまたはプレフィックスのみの使用

パラメータ名は接頭辞-で修飾できます

  • プレフィックスは、引数の使用方法を説明するものでなければなりません。

  • プレフィックスは、パラメータのあいまいな読み取りが回避されるような方法である必要があります。

例えば、

  • Result_ColumnName − DAX LOOKUPVALUE()関数で結果値を取得するために使用される既存の列を参照します。

  • Search_ColumnName − DAX LOOKUPVALUE()関数で値を検索するために使用される既存の列を参照します。

プレフィックスがパラメータを説明するのに十分明確である場合は、パラメータ名を省略してプレフィックスのみを使用できます。パラメータ名を省略し、プレフィックスのみを使用すると、読み取り中の混乱を回避するのに役立つ場合があります。

たとえば、検討してください DATE (Year_value, Month_value, Day_value)。3回繰り返されるパラメーター名–値を省略して、DATE(年、月、日)と書くことができます。ご覧のとおり、プレフィックスのみを使用すると、関数が読みやすくなります。ただし、わかりやすくするために、パラメーター名とプレフィックスを指定する必要がある場合があります。

たとえば、検討してください Year_columnName。パラメータ名はColumnNameで、プレフィックスはYearです。パラメータには既存の年の列への参照が必要であることをユーザーに理解させるには、両方が必要です。

DAX数式でDAX関数を使用する必要がある場合は、関数を詳細に理解する必要があります。関数の構文、パラメータータイプ、関数が返すものなどを知っておく必要があります。

DAX関数の読み取りと解釈の方法を理解できるようにするために、このチュートリアルでは統一された関数記述構造を使用します。

  • さまざまなタイプのDAX関数は、章としてDAX関数のタイプ名によってグループ化されています。

  • これらの各章では、それぞれのタイプのDAX関数のユーティリティについて簡単に説明しています。

  • 簡単な説明の後に、その章に対応するDAX関数のリスト(DAX関数のタイプ/カテゴリ)が続きます。

  • 各DAX関数名は、次のDAX関数記述構造を持つDAX関数の詳細にハイパーリンクされています-

    • Description
    • Syntax
    • Parameters
    • 戻り値
    • Remarks
    • Example

次のセクションでは、各DAX関数の説明に表示されるこれらの各見出しについて説明します。

説明

説明セクションでは、DAX関数の概要と使用場所について学習します。

DAX機能がExcel2016で導入された場合、同じことがここで言及されます。(残りのDAX関数はExcel 2013に存在します。)

構文

構文セクションでは、正確な関数名とそれぞれのパラメーターについて学習します。

  • DAX関数名は大文字で表記されています。

  • DAX関数名の後には、開き括弧が続きます。

  • 各パラメーターは、標準のDAXパラメーターの命名規則に従い、山括弧で囲まれています。

  • パラメータがオプションの場合、さらに角かっこで囲まれます。

  • パラメータはコンマで区切られます。

  • 省略記号…は、パラメータのオプションの繰り返し数を示すために使用されます。

  • 関数の構文は、閉じ括弧で終わります。

パラメーター

「パラメーター」セクションでは、特定のDAX関数の各パラメーターが、その説明とともに表にリストされています。たとえば、上記のDAX関数SELECTCOLUMNSの例のパラメーターを次の表に示します。

シニア番号 パラメータと説明
1

Table

テーブルまたはテーブルを返すDAX式。

2

Name

二重引用符で囲まれた、列に付けられた名前。

3

scalar_expression

列参照、整数、文字列値などのスカラー値を返すDAX式。

戻り値

「戻り値」セクションでは、DAX関数が返す値とそのデータ型について学習します。

備考

備考セクションでは、DAX関数の使用法について知っておく必要のある追加情報について学習します。また、潜在的なエラーとその理由を理解します。

このセクションでは、DAX関数の使用例を示します。

Note −パラメータのデータ値を使用してDAX関数を作成する場合は、以下に示す命名規則に従います。

  • テーブル名は、データモデルに表示されるとおりに指定されます。例:販売。

  • 列名は、データモデルに表示されるとおりに指定され、角かっこで囲まれています。

    たとえば、[売上高]

    • 列には完全修飾名を使用することをお勧めします。つまり、列名の前に、それを含むテーブル名を付けます。

      たとえば、Sales [Sales Amount]

    • テーブル名にスペースが含まれている場合は、一重引用符で囲む必要があります。

      たとえば、「EastSales」[SalesAmount]

  • DAX関数は値の列またはテーブルを返すことができます。その場合、列またはテーブルを必要とする別のDAX関数のパラメーターとして使用する必要があります。

DAX集計関数は、テーブルの行全体の式を集計し、計算に役立ちます。

以下はDAX集計関数です-

  • DAXADDCOLUMNS関数
  • DAXAVERAGE関数
  • DAXAVERAGEA関数
  • DAXAVERAGEX関数
  • DAXCOUNT機能
  • DAXCOUNTA機能
  • DAXCOUNTAX関数
  • DAXCOUNTBLANK関数
  • DAXCOUNTROWS関数
  • DAXCOUNTX関数
  • DAXCROSSJOIN機能
  • DAXDISTINCTCOUNT関数
  • DAXGENERATE機能
  • DAXGENERATEALL関数
  • DAXMAX機能
  • DAXMAXA機能
  • DAXMAXX機能
  • DAXMIN関数
  • DAXMINA機能
  • DAXMINX機能
  • DAXPRODUCT機能
  • DAXPRODUCTX機能
  • DAXROW関数
  • DAXSELECTCOLUMNS関数
  • DAXSUM関数
  • DAXSUMMARIZE機能
  • オプション付きのDAXSUMMARIZE機能
  • DAXSUMX機能
  • DAXTOPN機能

DAXフィルター関数を使用して、特定のデータ型を返し、関連するテーブルで値を検索し、関連する値でフィルター処理できます。ルックアップ関数は、テーブルとそれらの間の関係を使用して機能します。フィルタ関数を使用すると、データコンテキストを操作して、動的な計算を作成できます。

以下はDAXフィルター機能です

  • DAXADDMISSINGITEMS機能
  • DAXALL機能
  • DAXALLEXCEPT関数
  • DAXALLNOBLANKROW関数
  • DAXALLSELECTED関数
  • DAXCALCULATE関数
  • DAXCALCULATETABLE関数
  • DAXCROSSFILTER機能
  • DAXDISTINCT関数
  • DAXEARLIER機能
  • DAXEARLIEST関数
  • DAXFILTER機能
  • DAXFILTERS機能
  • DAXHASONEFILTER関数
  • DAXHASONEVALUE関数
  • DAXISCROSSFILTERED関数
  • DAXISFILTERED関数
  • DAXKEEPFILTERS機能
  • DAX関連機能
  • DAXRELATEDTABLE関数
  • DAXUSERELATIONSHIP機能
  • DAXVALUES関数

DAXタイムインテリジェンス関数は、日、月、四半期、年などの期間を使用してデータを操作できるようにすることで、ビジネスインテリジェンス分析のニーズをサポートする計算を作成するのに役立ちます。

以下は、DAXタイムインテリジェンス機能です。

  • DAXCLOSINGBALANCEMONTH関数
  • DAXCLOSINGBALANCEQUARTER関数
  • DAXCLOSINGBALANCEYEAR関数
  • DAXDATEADD関数
  • DAXDATESBETWEEN関数
  • DAXDATESINPERIOD関数
  • DAXDATESMTD関数
  • DAXDATESQTD関数
  • DAXDATESYTD関数
  • DAXENDOFMONTH関数
  • DAXENDOFQUARTER関数
  • DAXENDOFYEAR関数
  • DAXFIRSTDATE関数
  • DAXFIRSTNONBLANK関数
  • DAXLASTDATE関数
  • DAXLASTNONBLANK関数
  • DAXNEXTDAY関数
  • DAXNEXTMONTH関数
  • DAXNEXTQUARTER関数
  • DAXNEXTYEAR関数
  • DAXOPENINGBALANCEMONTH関数
  • DAXOPENINGBALANCEQUARTER関数
  • DAXOPENINGBALANCEYEAR関数
  • DAXPARALLELPERIOD関数
  • DAXPREVIOUSDAY関数
  • DAXPREVIOUSMONTH関数
  • DAXPREVIOUSQUARTER関数
  • DAXPREVIOUSYEAR関数
  • DAXSAMEPERIODLASTYEAR関数
  • DAXSTARTOFMONTH関数
  • DAXSTARTOFQUARTER関数
  • DAXSTARTOFYEAR関数
  • DAXTOTALMTD関数
  • DAXTOTALQTD関数
  • DAXTOTALYTD関数

DAXの日付と時刻の関数は、Excelの日付と時刻の関数に似ています。ただし、DAXの日付と時刻の関数は、DAXの日時データ型に基づいています。

以下は、DAXの日付と時刻の関数です-

  • DAXCALENDAR機能
  • DAXCALENDARAUTO関数
  • DAXDATE関数
  • DAXDATEDIFF関数
  • DAXDATEVALUE関数
  • DAXDAY機能
  • DAXEDATE関数
  • DAXEOMONTH関数
  • DAXHOUR機能
  • DAXMINUTE関数
  • DAXMONTH関数
  • DAXNOW機能
  • DAXSECOND関数
  • DAXTIME機能
  • DAXTIMEVALUE関数
  • DAXTODAY機能
  • DAXWEEKDAY関数
  • DAXWEEKNUM関数
  • DAXYEAR関数
  • DAXYEARFRAC関数

DAX情報関数は、引数として提供された値または列を調べ、値が期待される型と一致するかどうかを示します。

以下はDAX情報機能です-

  • DAXCONTAINS関数
  • DAXCUSTOMDATA関数
  • DAXISBLANK関数
  • DAXISERROR関数
  • DAXISEMPTY関数
  • DAXISEVEN関数
  • DAXISLOGICAL関数
  • DAXISNONTEXT関数
  • DAXISNUMBER関数
  • DAXISODD関数
  • DAXISONORAFTER関数
  • DAXISTEXT関数
  • DAXLOOKUPVALUE関数
  • DAXUSERNAME関数

DAX論理関数は、関連するパラメーターに対して実行された論理演算に基づいて論理値(TRUE / FALSE)を返します。

以下はDAX論理関数です-

  • DAXAND関数
  • DAXFALSE関数
  • DAXIF関数
  • DAXIFERROR関数
  • DAXNOT機能
  • DAXOR関数
  • DAXSWITCH機能
  • DAXTRUE関数

DAXの数学関数と三角関数は、Excelの数学関数と三角関数に非常によく似ています。

以下は、DAXの数学関数と三角関数です。

  • DAXABS機能
  • DAXACOS機能
  • DAXACOSH機能
  • DAXASIN関数
  • DAXASINH関数
  • DAXATAN関数
  • DAXATANH関数
  • DAXCEILING機能
  • DAXCOMBIN機能
  • DAXCOMBINA機能
  • DAXCOS関数
  • DAXCOSH関数
  • DAXCURRENCY関数
  • DAXDEGREES機能
  • DAXDIVIDE機能
  • DAXEVEN機能
  • DAXEXP関数
  • DAXFACT関数
  • DAXFLOOR関数
  • DAXGCD機能
  • DAXINT関数
  • DAXISO.CEILING関数
  • DAXLCM機能
  • DAXLN関数
  • DAXLOG機能
  • DAXLOG10関数
  • DAXMROUND機能
  • DAXMOD関数
  • DAXODD関数
  • DAXPERMUT機能
  • DAXPI機能
  • DAXPOWER機能
  • DAXQUOTIENT関数
  • DAXRADIANS関数
  • DAXRAND機能
  • DAXRANDBETWEEN関数
  • DAXROUND関数
  • DAXROUNDDOWN機能
  • DAXROUNDUP機能
  • DAXSIGN機能
  • DAXSIN関数
  • DAXSINH関数
  • DAXSQRT機能
  • DAXSQRTPI関数
  • DAXTAN機能
  • DAXTANH関数
  • DAXTRUNC機能

DAXの親関数と子関数は、データモデルで親/子階層として表示されるデータを管理するのに役立ちます。

以下は、DAXの親関数と子関数です-

  • DAXPATH機能
  • DAXPATHCONTAINS関数
  • DAXPATHITEM関数
  • DAXPATHITEMREVERSE関数
  • DAXPATHLENGTH関数

DAX統計関数は、Excel統計関数と非常によく似ています。

以下はDAX統計関数です-

  • DAXBETA.DIST関数
  • DAXBETA.INV関数
  • DAXCHISQ.DIST関数
  • DAXCHISQ.DIST.RT関数
  • DAXCHISQ.INV関数
  • DAXCHISQ.INV.RT関数
  • DAXCONFIDENCE.NORM関数
  • DAXCONFIDENCE.T関数
  • DAXEXPON.DIST関数
  • DAXGEOMEAN関数
  • DAXGEOMEANX関数
  • DAXMEDIAN関数
  • DAXMEDIANX機能
  • DAXPERCENTILE.EXC関数
  • DAXPERCENTILE.INC関数
  • DAXPERCENTILEX.EXC関数
  • DAXPERCENTILEX.INC関数
  • DAXPOISSON.DIST関数
  • DAXRANK.EQ関数
  • DAXRANKX機能
  • DAXSAMPLE関数
  • DAXSTDEV.P関数
  • DAXSTDEV.S関数
  • DAXSTDEVX.P関数
  • DAXSTDEVX.S関数
  • DAXVAR.P関数
  • DAXVAR.S関数
  • DAXVARX.P関数
  • DAXVARX.S関数
  • DAXXIRR関数
  • DAXXNPV機能

DAXテキスト関数はテーブルと列で機能します。DAXテキスト関数を使用すると、文字列の一部を返したり、文字列内のテキストを検索したり、文字列値を連結したりできます。日付、時刻、数値の形式を制御することもできます。

以下はDAXテキスト関数です-

  • DAXBLANK機能
  • DAXCODE機能
  • DAXCONCATENATE関数
  • DAXCONCATENATEX関数
  • DAXEXACT関数
  • DAXFIND関数
  • DAXFIXED機能
  • DAXFORMAT機能
  • DAXLEFT機能
  • DAXLEN機能
  • DAXLOWER機能
  • DAXMID機能
  • DAXREPLACE機能
  • DAXREPT機能
  • DAXRIGHT機能
  • DAXSEARCH機能
  • DAXSUBSTITUTE関数
  • DAXTRIM機能
  • DAXUPPER機能
  • DAXVALUE関数

これらのDAX関数は、他のほとんどのDAX関数が属するカテゴリでは定義できない固有のアクションを実行します。

以下はDAXその他の機能です-

  • DAXEXCEPT機能
  • DAXGROUPBY関数
  • DAXINTERSECT機能
  • DAXNATURALINNERJOIN関数
  • DAXNATURALLEFTOUTERJOIN関数
  • DAXSUMMARIZECOLUMNS関数
  • DAXUNION関数
  • DAXVAR関数