INFO.STORAGETABLECOLUMNS DAX Function (Information)
Returns statistics about the columns of in-memory tables.
Syntax
| Parameter | Attributes | Description |
|---|---|---|
| RestrictionName | Optional Repeatable |
Restriction name. |
| RestrictionValue | Optional Repeatable |
Restriction value. |
Return values
| Field | Type |
|---|---|
| DATABASE_NAME | String |
| CUBE_NAME | String |
| MEASURE_GROUP_NAME | String |
| DIMENSION_NAME | String |
| ATTRIBUTE_NAME | String |
| TABLE_ID | String |
| COLUMN_ID | String |
| COLUMN_TYPE | String |
| COLUMN_ENCODING | Integer |
| DATATYPE | String |
| ISKEY | Boolean |
| ISUNIQUE | Boolean |
| ISNULLABLE | Boolean |
| ISROWNUMBER | Boolean |
| DICTIONARY_SIZE | Integer |
| DICTIONARY_ISPAGEABLE | Boolean |
| DICTIONARY_ISRESIDENT | Boolean |
| DICTIONARY_TEMPERATURE | Decimal |
| DICTIONARY_LAST_ACCESSED | DateTime |
| STRING_INDEX_SIZE | Integer |
| FULLTEXT_INDEX_SIZE | Integer |
Remarks
Corresponds to the DISCOVER_STORAGE_TABLE_COLUMNS data management view (DMV).
The COLUMN_ENCODING column shows how the engine stores the data of a column: 1 means hash encoding and 2 means value encoding. A column with value encoding has no real dictionary, so its DICTIONARY_SIZE is very small. The value 0 is for the internal structures that are not data columns, such as hierarchies and relationships. For these rows, COLUMN_TYPE is not BASIC_DATA.
As all the INFO functions, it cannot be used in calculated tables and calculated columns.
Examples
The following query shows the encoding of the columns of the Store table.
-- COLUMN_ENCODING is 1 for hash encoding and 2 for value encoding
-- A column with value encoding has a very small dictionary
EVALUATE
SELECTCOLUMNS (
FILTER (
INFO.STORAGETABLECOLUMNS (),
[DIMENSION_NAME] = "Store"
&& [COLUMN_TYPE] = "BASIC_DATA"
&& NOT [ISROWNUMBER]
),
"Column", [ATTRIBUTE_NAME],
"COLUMN_ENCODING", [COLUMN_ENCODING],
"DATATYPE", [DATATYPE],
"DICTIONARY_SIZE", [DICTIONARY_SIZE]
)
ORDER BY [COLUMN_ENCODING], [Column]
| Column | COLUMN_ENCODING | DATATYPE | DICTIONARY_SIZE |
|---|---|---|---|
| Address Line 1 | 1 | DBTYPE_WSTR | 35,000 |
| Address Line 2 | 1 | DBTYPE_WSTR | 34,972 |
| Area Manager | 1 | DBTYPE_WSTR | 18,530 |
| City | 1 | DBTYPE_WSTR | 24,096 |
| Close Date | 1 | DBTYPE_DATE | 1,312 |
| Close Reason | 1 | DBTYPE_WSTR | 17,122 |
| Continent | 1 | DBTYPE_WSTR | 17,148 |
| CountryRegion | 1 | DBTYPE_WSTR | 17,928 |
| Last Remodel Date | 1 | DBTYPE_DATE | 1,488 |
| Selling Area | 1 | DBTYPE_R8 | 1,368 |
| State | 1 | DBTYPE_WSTR | 19,538 |
| Status | 1 | DBTYPE_WSTR | 17,102 |
| Store Name | 1 | DBTYPE_WSTR | 34,378 |
| Store Phone | 1 | DBTYPE_WSTR | 27,032 |
| Store Type | 1 | DBTYPE_WSTR | 17,164 |
| StoreKey | 1 | DBTYPE_I8 | 9,680 |
| Zip Code | 1 | DBTYPE_WSTR | 20,260 |
| Zip Code Extension | 1 | DBTYPE_WSTR | 21,840 |
| Employees | 2 | DBTYPE_I8 | 144 |
| Open Date | 2 | DBTYPE_DATE | 144 |
Last update: Nov 2, 2026 » Contribute » Show contributors
Contributors: Alberto Ferrari, Marco Russo, Kenneth Barber
Microsoft documentation: https://learn.microsoft.com/en-us/dax/info-storagetablecolumns-function-dax