Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
VendettaBob
Helper II
Helper II

SummarizeColumns() and AddMissingItems()

Hi,

 

I have the following code:

 

 

_CumulativeFrequencyRateThisYear = 
 var _table = SUMMARIZECOLUMNS(
      'EventYearMonth'[CalendarMonthId],
	  FILTER(
	      KEEPFILTERS(VALUES('EventYearMonth'[DateValue])),
	      AND(
	        'EventYearMonth'[DateValue] >= DATE(2022, 1, 1),
	        'EventYearMonth'[DateValue] < DATE(2023, 1, 1)
	      )),
      "_CumulativeFrequencyRateLocal", 'SHEQ'[_CumulativeFrequencyRate]
  )
RETURN
 AVERAGEX(_table,[_CumulativeFrequencyRateLocal])

 

 

I want to return a visual such as:

VendettaBob_0-1650628289328.png

 

However, when I place the measure in the visual with the  'EventYearMonth'[CalendarMonthId] as the axis I get the follwoing error:

 

SummarizeColumns() and AddMissingItems() may not be used in this context.

 

Any ideas?

 

 

1 ACCEPTED SOLUTION
AlexisOlson
Super User
Super User

The reason for this is that "SUMMARIZECOLUMNS cannot be used in a context transition. You could use it in a filter, but you cannot invoke SUMMARIZECOLUMNS in a measure because the measure is often called in a context transition." (From Marco's reply to a comment on this article.)

 

SUMMARIZECOLUMNS is great for writing DAX queries but if you're writing a measure, then you almost always need to use SUMMARIZE instead.

View solution in original post

2 REPLIES 2
AlexisOlson
Super User
Super User

The reason for this is that "SUMMARIZECOLUMNS cannot be used in a context transition. You could use it in a filter, but you cannot invoke SUMMARIZECOLUMNS in a measure because the measure is often called in a context transition." (From Marco's reply to a comment on this article.)

 

SUMMARIZECOLUMNS is great for writing DAX queries but if you're writing a measure, then you almost always need to use SUMMARIZE instead.

amitchandak
Super User
Super User

@VendettaBob , try like

 


_CumulativeFrequencyRateThisYear =
var _table = ADDCOLUMNS(Summarize('SHEQ'
'EventYearMonth'[CalendarMonthId] ),
"_CumulativeFrequencyRateLocal", calculate('SHEQ'[_CumulativeFrequencyRate],FILTER(
KEEPFILTERS(VALUES('EventYearMonth'[DateValue])),
AND(
'EventYearMonth'[DateValue] >= DATE(2022, 1, 1),
'EventYearMonth'[DateValue] < DATE(2023, 1, 1)
)) ))
)
RETURN
AVERAGEX(_table,[_CumulativeFrequencyRateLocal])

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

August Carousel

Fabric Community Update - August 2024

Find out what's new and trending in the Fabric Community.