Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
I have a table that holds uniqueasset and asset age and I am trying to create a dynamic filter in order to show the Top 15% of the oldest assets. I created a uniquerank column since there are many duplicates of asset age.
Measures created:
UniqueRank =
RANKX(
Data,
Data[asset age] * 1000000 + Data[Index],
,
DESC,
DENSE
)
TotalAssets = COUNTROWS(ALL(Data))
Top15PercentCount = CEILING([TotalAssets] * 0.15, 1)
Top15PercentThresholdRank =
CALCULATE(
MAXX(
TOPN([Top15PercentCount], ALL(data), data[UniqueRank], DESC),
data[UniqueRank]
)
)
I then created a column to use as a filter:
IsTop15Percent =
IF(
MAX(data[UniqueRank]) <= [Top15PercentThresholdRank],
1,
0
)
However, when I use as a filter it is placing all assets/rows into the Top 15% when I believe it should be flagging 1,876 of them.
What am I doing incorrectly? pbix file here: Top 15 Percent Oldest Assets
TIA!
Solved! Go to Solution.
Hi,
PBI file attached.
Hope this helps.
Hi,
Please check the below picture and the attached pbix file.
Hi,
Please check the below picture and the attached pbix file.
@Ashish_Mathur Your method also appears to work, however I did not try it in my actual data model, but your example is correct. Thank you!
You are welcome.