NONVISUAL DAX Function (Table manipulation)

Mark the filter as NonVisual.

Syntax

NONVISUAL ( <Expression> )
Parameter Attributes Description
Expression

Filter expression.

Return values

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

A table of values.

Remarks

Marks a value filter in SUMMARIZECOLUMNS function as not affecting measure values, but only applying to group-by columns.

» 2 related articles
» 2 related functions

Examples

--  NONVISUAL marks a SUMMARIZECOLUMNS filter so that it does
--  not affect measures using ALLSELECTED as part of their
--  calculation.
--  It can be used to obtain non-visual totals at the query level.
DEFINE MEASURE Sales[Amount ALLSELECTED] =
    CALCULATE ( [Sales Amount], ALLSELECTED ( 'Date'[Calendar Year] ) )
    
EVALUATE
SUMMARIZECOLUMNS (
    'Date'[Calendar Year],
    TREATAS ( { "CY 2008", "CY 2009" }, 'Date'[Calendar Year] ),
    "Amount", [Sales Amount],
    "Amount ALLSELECTED", [Amount ALLSELECTED]
)

EVALUATE
SUMMARIZECOLUMNS (
    'Date'[Calendar Year],
    NONVISUAL ( TREATAS ( { "CY 2008", "CY 2009" }, 'Date'[Calendar Year] ) ),
    "Amount", [Sales Amount],
    "Amount ALLSELECTED", [Amount ALLSELECTED]
)
Calendar Year Amount Amount ALLSELECTED
2008-01-01 9,927,582.99 19,281,397.86
2009-01-01 9,353,814.87 19,281,397.86
Calendar Year Amount Amount ALLSELECTED
2008-01-01 9,927,582.99 30,591,343.98
2009-01-01 9,353,814.87 30,591,343.98

Related articles

Learn more about NONVISUAL in the following articles:

  • SQLBI+ updates in August 2025

    For many years, SUMMARIZECOLUMNS has been a function dedicated to DAX queries and calculated tables, but it was not supported in DAX measures. Over time, Microsoft lifted the limitations, and in June 2024, the function was declared as fully supported in measures. However, we never suggested widely adopting it because we wanted to study its behavior in detail, which was not necessary for the queries due to the limited side effects in that context. Time well spent, as we have now been able to document in detail how SUMMARIZECOLUMNS works, what to do, and what not to do. You will… » Read more

  • SUMMARIZECOLUMNS best practices

    SUMMARIZECOLUMNS is a powerful and complex function in DAX that in 2025 can be used in measures. This article outlines the best practices when using this function to avoid incorrect results. » Read more

Related functions

Other related functions are:

Last update: Aug 13, 2025   » Contribute   » Show contributors

Contributors: Alberto Ferrari, Marco Russo, Kenneth Barber

Microsoft documentation: https://docs.microsoft.com/en-us/dax/nonvisual-function-dax

2018-2025 © 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.

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 NONVISUAL? 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 and the Google Privacy Policy and Terms of Service apply.