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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
ChadPortman
Frequent Visitor

Measure inside of Summarize?

Can you use a measure inside of Summarize? I want to creata a table group by the value that is generated from my measure. Is something like this possible?

1 ACCEPTED SOLUTION
ChadPortman
Frequent Visitor

For anyone else that finds this later. I was able to get this to work and here's how. I used Summarize Columns, with a switch function inside for the segments, I could not figure out how to use a measure or a variable inside the summarize columns function so I just typed the calculation each time. I wrapped the whole thing in a Calculate Table function to add a filter. Below is the code

 

 

 

CALCULATETABLE(
SUMMARIZECOLUMNS(
	 UCS[PlayerID]
	,UCS
	,"ADT"
	,CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))
	,"TheoTotal"
	,CALCULATE(Sum(UCS[Sales]))
	,"TripTotal"
	,CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1)
	,"ADTBand"
	,SWITCH(TRUE(),
	Sum(UCS[Orders]) = 0,"0-14",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<15,"0-14",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=15&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<25,"15-24",
	CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=25&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<40,"25-39",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=40&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<75,"40-74",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=75&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<100,"75-99",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=100&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<150,"100-149",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=150&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<225,"150-224",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=225&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<300,"225-299",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=300&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<400,"300-399",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=400&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<500,"400-499",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=500&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<750,"500-749",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=750&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<1000,"750-999",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=1000&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<1250,"1000-1249",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=1250&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<1500,"1250-1499",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=1500&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<2000,"1500-1999",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=2000&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<2500,"2000-2499",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=2500&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<3000,"2500-2999",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=3000&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<3500,"3000-3499",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=3500,"3500+"
))
,not( UPI[TierID] in {9,10}))

 

View solution in original post

1 REPLY 1
ChadPortman
Frequent Visitor

For anyone else that finds this later. I was able to get this to work and here's how. I used Summarize Columns, with a switch function inside for the segments, I could not figure out how to use a measure or a variable inside the summarize columns function so I just typed the calculation each time. I wrapped the whole thing in a Calculate Table function to add a filter. Below is the code

 

 

 

CALCULATETABLE(
SUMMARIZECOLUMNS(
	 UCS[PlayerID]
	,UCS
	,"ADT"
	,CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))
	,"TheoTotal"
	,CALCULATE(Sum(UCS[Sales]))
	,"TripTotal"
	,CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1)
	,"ADTBand"
	,SWITCH(TRUE(),
	Sum(UCS[Orders]) = 0,"0-14",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<15,"0-14",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=15&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<25,"15-24",
	CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=25&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<40,"25-39",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=40&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<75,"40-74",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=75&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<100,"75-99",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=100&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<150,"100-149",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=150&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<225,"150-224",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=225&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<300,"225-299",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=300&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<400,"300-399",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=400&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<500,"400-499",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=500&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<750,"500-749",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=750&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<1000,"750-999",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=1000&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<1250,"1000-1249",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=1250&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<1500,"1250-1499",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=1500&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<2000,"1500-1999",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=2000&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<2500,"2000-2499",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=2500&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<3000,"2500-2999",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=3000&&CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))<3500,"3000-3499",
    CALCULATE(Sum(UCS[Sales])/CALCULATE(DistinctCount(UCS[Date]),UCS[Orders] = 1))>=3500,"3500+"
))
,not( UPI[TierID] in {9,10}))

 

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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