DAX data types
Each column in a semantic model has a data type, which controls what kind of values are stored. You can set the data type in Power Query when connecting to data or creating columns. If you add a calculated column, DAX determines its data type based on the formula you write. Measures also have data types, but they're determined by the result of their calculation and can change depending on filter context.
Model data types and DAX data types are related but not always the same. The table below shows how they correspond and the range of values each supports.
Model data type | DAX data type | Description |
---|---|---|
Whole number | 64-bit integer | -263 through 263-1 |
Decimal number | 64-bit real | Negative: -1.79 x 10308 through -2.23 x 10-308 - zero (0) - positive: 2.23 x 10-308 through 1.79 x 10308 - Limited to 17 decimal digits |
Boolean | Boolean | TRUE or FALSE |
Text | String | Unicode character string |
Date | Date/time | Valid dates are all dates after January 1, 1900 |
Currency | Currency | -9.22 x 1014 through 9.22 x 1014 - limited to four decimal digits of fixed precision |
N/A | BLANK | In some cases, it's the equivalent of a database (SQL) NULL |
BLANK data type
The BLANK data type deserves a special mention. DAX uses BLANK for both database NULL and for blank cells in Excel. BLANK doesn't mean zero. Perhaps it might be simpler to think of it as the absence of a value.
Two DAX functions are related to the BLANK data type: the BLANK
function returns BLANK, while the ISBLANK
function tests whether an expression evaluates to BLANK.