INFO.STORAGETABLECOLUMNS DAX Function (Information)

Returns statistics about the columns of in-memory tables.

Syntax

INFO.STORAGETABLECOLUMNS ( [<RestrictionName> [, [<RestrictionValue>] [, <RestrictionName> [, [<RestrictionValue>] [, … ] ] ] ] ] )
Parameter Attributes Description
RestrictionName Optional
Repeatable

Restriction name.

RestrictionValue Optional
Repeatable

Restriction value.

Return values

Table An entire table or a table with one or more columns.

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

2018-2026 © SQLBI. All rights are reserved. Information coming from Microsoft documentation is property of Microsoft Corp. » Contact us   » Privacy Policy & Cookies

Context Transition

This function performs a Context Transition if called in a Row Context. Click to read more.

Row Context

This expression is executed in a Row Context. Click to read more.

Passed by Expression

This parameter is passed by expression and can be evaluated multiple times in different evaluation contexts.

Iterator

Not recommended

The use of this function is not recommended. See Remarks and Related functions for alternatives.

Not recommended

The use of this parameter is not recommended.

Deprecated

This function is deprecated. Jump to the Alternatives section to see the function to use.

Volatile

A volatile function may return a different result every time you call it, even if you provide the same arguments. Click to read more.

Deprecated

This parameter is deprecated and its use is not recommended.

DirectQuery compatibility

Limitations are placed on DAX expressions allowed in measures and calculated columns.
The state below shows the DirectQuery compatibility of the DAX function.

Contribute

Want to improve the content of INFO.STORAGETABLECOLUMNS? Did you find any issue?
Please, report it us! All submissions will be evaluated for possible updates of the content.


This site is protected by reCAPTCHA.