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
- 2 years ago
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 )
Jihwan_Kim
Super User
2 years agoHi,
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
)