Forum Discussion
MKYZ22
2 years agoNew Member
Group top 20 customers
I want to show top 20 customers datails & the other customers one row as attached
Hi,
I am not sure how your semantic model looks like, but I tried to create a sample pbix file like below.
In my sample, I described top 5 but I hope you can make it to show top 20 in your sample.
Please check the below picture and the attached pbix file.
WINDOW function (DAX) - DAX | Microsoft Learn
Top 5 and others: = VAR _topN = 5 VAR _topNlist = WINDOW ( 1, ABS, _topN, ABS, ALL ( customer[customer] ), ORDERBY ( CALCULATE ( SUM ( sales[sales] ) ), DESC ) ) VAR _topNsales = CALCULATE ( SUM ( sales[sales] ), _topNlist ) VAR _topNsaleskeepfilter = CALCULATE ( SUM ( sales[sales] ), KEEPFILTERS ( _topNlist ) ) VAR _allsales = CALCULATE ( SUM ( sales[sales] ), REMOVEFILTERS ( customer[customer] ) ) VAR _othersales = _allsales - _topNsales RETURN SWITCH ( TRUE (), SELECTEDVALUE ( category[category] ) = "others", IF ( NOT HASONEVALUE ( customer[customer] ), _othersales ), SELECTEDVALUE ( category[category] ) = "top_N", _topNsaleskeepfilter, _allsales )
1 Reply
- Jihwan_Kim
Super User
Hi,
I am not sure how your semantic model looks like, but I tried to create a sample pbix file like below.
In my sample, I described top 5 but I hope you can make it to show top 20 in your sample.
Please check the below picture and the attached pbix file.
WINDOW function (DAX) - DAX | Microsoft Learn
Top 5 and others: = VAR _topN = 5 VAR _topNlist = WINDOW ( 1, ABS, _topN, ABS, ALL ( customer[customer] ), ORDERBY ( CALCULATE ( SUM ( sales[sales] ) ), DESC ) ) VAR _topNsales = CALCULATE ( SUM ( sales[sales] ), _topNlist ) VAR _topNsaleskeepfilter = CALCULATE ( SUM ( sales[sales] ), KEEPFILTERS ( _topNlist ) ) VAR _allsales = CALCULATE ( SUM ( sales[sales] ), REMOVEFILTERS ( customer[customer] ) ) VAR _othersales = _allsales - _topNsales RETURN SWITCH ( TRUE (), SELECTEDVALUE ( category[category] ) = "others", IF ( NOT HASONEVALUE ( customer[customer] ), _othersales ), SELECTEDVALUE ( category[category] ) = "top_N", _topNsaleskeepfilter, _allsales )