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!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
Hi everyone, I am struggling with the TopN function and I hope you can help me out.
Data: event registration data, with calculated columns for CY (current year) and LY (Last year). I also created a measure to show the count difference between them, “CY-LY Reg Diff”
Goal: create a card that displays the region and store type with the largest deficits year-on-year (smallest value for “CY-LY Diff” measure)
Challenge: I have tried this formula, but it gives me “blank” as a region.
Largest Deficit Region = CALCULATE(SELECTEDVALUE('Sample Data'[Region]),TOPN(1,'Sample Data',[CY - LY Reg Diff],ASC))
| Year | Store Type | Region | Registered | Last year | Current year |
| Year 1 | Store Type A | West | 1 | 1 | 0 |
| Year 1 | Store Type C | South | 1 | 1 | 0 |
| Year 1 | Store Type C | Midwest | 1 | 1 | 0 |
| Year 1 | Store Type B | West | 1 | 1 | 0 |
| Year 1 | Store Type B | West | 1 | 1 | 0 |
| Year 1 | Store Type B | West | 1 | 1 | 0 |
| Year 2 | Store Type C | West | 1 | 0 | 1 |
| Year 2 | Store Type B | Midwest | 1 | 0 | 1 |
| Year 2 | Store Type B | South | 1 | 0 | 1 |
| Year 2 | Store Type C | Midwest | 1 | 0 | 1 |
Any help or tips would be greatly appreciated.
Thank you.
Solved! Go to Solution.
This piece of code:
Largest Deficit Region =
CALCULATE(
SELECTEDVALUE('Sample Data'[Region]),
TOPN(1,
'Sample Data',
[CY - LY Reg Diff],
ASC
)
)
returns BLANK because SELECTEDVALUE returns BLANK when there is more than 1 region returned.
Change the expression under CALCULATE to show the number of regions - distinctcount( 'sample data'[region] ) - and you'll see it's not 1.
Please read this: https://dax.guide/topn/
Best
D
Could you use ADDCOLUMNS to add your TOPN column and then take the MIN or MAX of it?
Hi, I must be doing something wrong here. I added ADDCOLUMNS to the expression, but now it looks like it's using it as multiple columns- I thought that I only added one. 😞
This piece of code:
Largest Deficit Region =
CALCULATE(
SELECTEDVALUE('Sample Data'[Region]),
TOPN(1,
'Sample Data',
[CY - LY Reg Diff],
ASC
)
)
returns BLANK because SELECTEDVALUE returns BLANK when there is more than 1 region returned.
Change the expression under CALCULATE to show the number of regions - distinctcount( 'sample data'[region] ) - and you'll see it's not 1.
Please read this: https://dax.guide/topn/
Best
D
Thank you- I was actually able to get it to work!
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 9 | |
| 7 | |
| 3 | |
| 3 | |
| 3 |
| User | Count |
|---|---|
| 17 | |
| 16 | |
| 12 | |
| 7 | |
| 5 |