Excel-dax-data-types

提供:Dev Guides
移動先:案内検索

Excel DAX-データ型

テーブルは、データモデルの新しいデータ型です。

  • DAX関数の引数として、複数の列と複数のデータ行を含むテーブルを使用できます。 *一部のDAX関数はテーブルを返します。このテーブルはメモリに保存され、他のDAX関数の引数として使用できます。

日時は、日付と時刻の値に使用されるデータモデルの別の新しいデータ型です。 引数として日付や時刻を必要とするDAX関数には、datetimeデータ型が必要です。

DAXデータ型の概要

DAXでサポートされるデータ型は次のとおりです-

Sr.No Data Type & Description
1
  • A 64 bit (eight-bytes) integer value*

小数点以下の桁数がない数字。

整数は正または負の数にすることができますが、9,223,372,036,854,775,808(-2 ^ 63)から9,223,372,036,854,775,807(2 ^ 63-1)までの整数でなければなりません。

2

A 64 bit (eight-bytes) real number

実数は、小数点以下の桁数を持つことができる数値です。 実数は、次の値をカバーしています-

  • -1.79E+ 308から2.23E -308までの負の値
  • Zero *2.23E -308から1.79Eまでの正の値+ 308

ただし、有効桁数は10進数で15桁に制限されています。

3
  • Boolean*
  • True *偽
4
  • String*

Unicode文字データ文字列。

テキスト形式で表される文字列、数値、または日付を指定できます。

文字列の最大長は、268,435,456 Unicode文字(256メガ文字)または536,870,912バイトです。

5

datetime

受け入れられた日時表現での日時。

有効な日付は、1900年1月1日以降のすべての日付です。

6

Currency

通貨データ型では、922,337,203,685,477.5808から922,337,203,685,477.5807までの値を、4桁の固定精度で使用できます。

7

Blank

ブランクは、SQL NULLを表し、置き換えるDAXのデータ型です。 BLANK関数を使用してブランクを作成し、論理関数ISBLANKを使用してブランクをテストできます。

8

Table

データモデルのテーブルを表します。

注意-データモデルは、Excelで使用されるバリアントデータ型の使用をサポートしていません。 したがって、データをロードまたはインポートするときは、テーブルの各列のデータが一貫したデータ型であることを確認してください。

DAX関数は、次のデータ型で動作します-

  • 文字列を含むスカラー値。
  • 整数と実数の両方の数値。
  • 日付と時刻。

データ型に互換性がない場合、DAX関数はエラーを返します。 テーブル内の各列のデータ型が必要なものであることを確認してください。 そうでない場合は、Power Pivotウィンドウのリボンからデータ型を明示的に設定できます。

各DAX関数に必要なデータ型については、チュートリアル-このチュートリアルライブラリのlink:/excel_dax/excel_dax_functions [DAX関数]で学習できます。

DAX数式での暗黙的なデータ型変換

DAX数式で使用する列または値のデータ型をキャスト、変換、またはその他の方法で指定する必要はありません。 DAX数式でデータを使用する場合、DAXは参照列のデータ型と入力した値を自動的に識別し、指定された操作を完了するために必要な暗黙的な変換を実行します。

ただし、正常に変換できる値にはいくつかの制限があります。 値または列に現在の操作と互換性のないデータ型がある場合、DAXはエラーを返します。

  • DAXでの暗黙的なデータ変換の例*-日付に数値を追加するDAX式があるとします。 DAXは、使用される関数のコンテキストで解釈します。 両方の引数は共通のデータ型に変換され、結果は目的のデータ型で返されます。

実行される変換のタイプは、要求された操作を実行する前に必要な値をキャストする演算子によって決定されます。 次のセクションでは、次の演算子の暗黙的なデータ変換の表を見つけることができます-

  • 追加(+)
  • 減算(-)
  • 乗算(*)
  • 部門(/)
  • 比較演算子

各表には演算子がリストされており、交差する行のデータ型とペアになったときに列の各データ型に対して実行される変換が示されています。

追加の暗黙的なデータ変換テーブル(+)

Operator (PLUS) INTEGER CURRENCY REAL DATETIME
INTEGER INTEGER CURRENCY REAL DATETIME
CURRENCY CURRENCY CURRENCY REAL DATETIME
REAL REAL REAL REAL DATETIME
DATETIME DATETIME DATETIME DATETIME DATETIME

たとえば、AがCurrencyデータ型で、BがRealデータ型の場合、A+ Bの計算中に、DAXはAをRealに変換し、Bに追加します。 結果は、Realデータ型になります。

減算の暗黙的なデータ変換テーブル(-)

行ヘッダーは被減数(左側)、列ヘッダーは減数(右側)です。

Operator (-) INTEGER CURRENCY REAL DATETIME
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
DATETIME DATETIME DATETIME DATETIME DATETIME

たとえば、Aが整数データ型で、Bが実数データ型の場合、A-Bの計算中にDAXはAを実数に変換し、AからBを減算します。 結果は、Realデータ型になります。

注意-データモデルは単項演算子-(負)もサポートしていますが、この演算子はオペランドのデータ型を変更しません。

乗算の暗黙的なデータ変換テーブル(*)

Operator (*) INTEGER CURRENCY REAL DATETIME
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
*REAL * REAL CURRENCY REAL REAL

たとえば、AがRealデータ型でBが通貨データ型の場合、A* Bを計算するために、DAXはAを通貨データ型に変換し、AにBを乗算します。 結果は通貨データ型になります。

除算の暗黙的なデータ変換テーブル(/)

Operator (/) INTEGER CURRENCY REAL DATETIME
INTEGER REAL CURRENCY REAL REAL
CURRENCY REAL CURRENCY REAL REAL
REAL REAL REAL REAL REAL
DATETIME REAL REAL REAL REAL

たとえば、Aが通貨データ型でBが実数データ型の場合、A/Bの計算中にDAXはAを実数に変換し、除算を実行します。 結果は、Realデータ型になります。

比較演算子の暗黙的なデータ変換テーブル

比較式では、DAXは下記のルールに従います-

  • ブール値は文字列値より大きいと見なされます。
  • 文字列値は、数値または日時値よりも大きいと見なされます。
  • 数値と日時値は同じランクを持つと見なされます。
  • ブール値または文字列値に対して暗黙的なデータ変換は実行されません。
  • BLANKまたは空白値は、他の比較値のデータ型に応じて0/""/falseに変換されます。
  • 数値型または日時型の場合、データ変換は次の表に示すように暗黙的に実行されます-
Comparison Operator INTEGER CURRENCY REAL DATETIME
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
DATETIME REAL REAL REAL DATETIME

DAXは空白、空の文字列、ゼロ値をどのように処理しますか?

DAXでは、null、空白値、空のセル、または欠損値はすべて同じ特別な値BLANKで表されます。

  • DAX BLANK関数を使用して、空白を生成できます。 *DAX ISBLANK関数を使用して、空白をテストできます。

DAXのDAX数式またはDAX関数の空白の処理方法は、加算や連結などの個々の操作、または特定のDAX関数によって異なります。

DAX Formula Result
BLANK PLUS BLANK BLANK
BLANK PLUS 5 5
BLANK* 5 BLANK
5/BLANK Infinity
0/BLANK NaN
BLANK/BLANK BLANK
FALSE OR BLANK FALSE
FALSE AND BLANK FALSE
TRUE OR BLANK TRUE
TRUE AND BLANK FALSE
BLANK OR BLANK BLANK
BLANK AND BLANK BLANK