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
I have a measure that shows the Max and Min value in a Matrix - it works no problem.
However, I cannot get this to work as a tooltip - is it even possible?
MinMaxMeasure =
VAR ValuesDisplayed =
CALCULATETABLE (
ADDCOLUMNS (
SUMMARIZE ( 'Cases', 'Cases'[PrimaryTopic2] ),
"Count", [Primary Topics]
),
ALLSELECTED ()
)
VAR MinVal =
MINX ( ValuesDisplayed, [Count] )
VAR MaxVal =
MAXX ( ValuesDisplayed, [Count] )
VAR CurrentValue = [Primary Topics]
VAR Result =
SWITCH ( TRUE (), CurrentValue = MinVal, 1, CurrentValue = MaxVal, 2 )
RETURN
Result
Thanks
Hi @ArchStanton
Try this pattern and also ensure to use in the visual the same dimensions specified in the measure.
MinMaxMeasure =
VAR valuesDisplayed =
ADDCOLUMNS ( SUMMARIZE ( ALLSELECTED ( Data ), Data[Date] ), "count", [Total Transactions] )
VAR MinVal =
MINX ( valuesDisplayed, [count] )
VAR MaxVal =
MAXX ( valuesDisplayed, [count] )
VAR Currentvalue = [Total Transactions]
VAR Result =
SWITCH ( TRUE (), CurrentValue = MinVal, 1, CurrentValue = MaxVal, 2 )
RETURN
Result
Hi,
I have Blank Primary Topics in my data so the MinValue is picking these up. I've tried to isolate Blanks as zero so I can exclude them from the code, I've done this - is it possible to select the next smalles MinValue?
Hello again @ArchStanton ,
To address this scenario, it's important to recognize that tooltip visuals operate within a much narrower filter context compared to standard visuals like a matrix. When hovering over a value, the tooltip only considers that specific category, so any logic intended to compare values across categories will not work unless the context is deliberately broadened.
The recommended approach is to use a measure that evaluates all visible categories by applying ALLSELECTED to the category field, then calculating the minimum and maximum from that set while excluding blanks. After creating this measure, add it to a dedicated tooltip page and assign that page to the matrix.
Please find the attached PBIX and Screenshort file for your reference.
Best Regards,
Tejaswi.
Community Support
Thanks again for your advice, i really appreciate all of your help.
Unless you say otherwise I don't think its possible to do what I want?
I want the months of the Max and Min markers in the Sparkline to be shown in the tooltip. The sparklines represent the FY Apr - Mar.
Your Max & Min tooltip does work, it seems like we're not a million miles from achieving my aim?
Hello @ArchStanton ,
The main issue was that the tooltip was only evaluating the single hovered point instead of the full month range shown in the sparkline. To fix this, I rebuilt the example using a proper Calendar table linked to the cases data by date, and added a fiscal month number (Apr–Mar) so the months sort correctly. The tooltip measures then use ALLSELECTED to look across all months in the sparkline context, and TOPN to determine which month has the highest and lowest values, returning the month names instead of just the numbers.
I added the measures to a report tooltip page and linked it to the matrix. Now, when you hover over a row, the tooltip shows the actual months where the sparkline reaches its maximum and minimum, not just the values. Because the logic evaluates over the same month context as the sparkline, it works consistently even within the limited filter context of a tooltip.
Please find the attached PBIX and Screenshort file for your reference.
Best Regards,
Tejaswi.
Community Support
Hi,
I've tried your latest suggestion and unfortunately it didn't work - it has the same issue as the previous code you provided - it almost works and I prefer the look of this tooltip, could you please check if something can be done with this version first?
As you can see, its very close to working but my pbix file was last refreshed in January and so I have no data for Feb & Mar. Is there something that can be tweaked in the following DAX that ignores the future months of the current Fiscal Year?
MinMax Tooltip =
VAR AllTopics =
CALCULATETABLE (
ADDCOLUMNS ( VALUES ( 'Cases'[PrimaryTopic2] ), "Value", [Primary Topics] ),
ALLSELECTED ( 'Cases'[PrimaryTopic2] )
)
VAR NonBlankValues =
FILTER ( AllTopics, NOT ISBLANK ( [Value] ) )
VAR MinValue =
MINX ( NonBlankValues, [Value] )
VAR MaxValue =
MAXX ( NonBlankValues, [Value] )
VAR CurrentValue = [Primary Topics]
RETURN
SWITCH (
TRUE (),
CurrentValue = MinValue, "MIN",
CurrentValue = MaxValue, "MAX",
BLANK ()
)
Hi @ArchStanton ,
Power BI is picking the wrong 'minimum' month because blank (NULL) values are being treated like the smallest number. The solution is to adjust the measure so it ignores blanks first, then calculates the minimum only from rows that actually contain numbers, and finally returns the month linked to that real minimum. In short, filter out empty values before doing the MIN calculation, so 'no data' doesn’t get mistaken for the lowest data.
Thank you.
Correct me if i'm wrong but its the fact that Feb & Mar are appearing that is causing this?
(This pbix file hasn't been refreshed since mid January).
I thought ISINSCOPE would Filter out future months?
Hi @ArchStanton ,
This behavior is expected due to the way tooltips handle filter context. When a measure is calculated in a tooltip, it is evaluated only for the specific data point being hovered over, such as a single month. Consequently, the measure does not automatically access all months needed to determine minimum or maximum values. This is why the same DAX expression works in the matrix but not in the tooltip.
To resolve this, you need to explicitly expand the filter context within the measure, allowing evaluation across all relevant months while still respecting slicer selections. Using ALLSELECTED on the month field ensures visibility into the full range of values, and filtering out blanks prevents empty periods from being considered as the minimum. With these adjustments, min and max calculations will work consistently in both matrix and tooltip views.
Thank you.
Hi, thanks again for the reply.
My DAX knowledge isn't the best, I'm still learning, would you be able to help with the code on this please?
Thanks, I'm confused because we already have a Variable called NonBlankValues which I thought would do this?
Anyway, my measure is a simple count:
Primary Topic Count =
COUNT('Cases'[PrimaryTopic2])
I have another measure that I use to to count items in the current month which I've modified to use here but I still get the same issue.
ISINSCOPE New Topics =
IF(
ISINSCOPE(Date2[Mth]), -- Row Level (month) in scope so normal YTD logic
TOTALYTD(
COUNT('Cases'[PrimaryTopic2]),
'Cases'[Created On]
),
-- Total level (month is not in scope so each visible mth is iterated)
SUMX(
VALUES(Date2[Mth]),
TOTALYTD(
COUNT('Cases'[PrimaryTopic2]),
'Cases'[Created On]
)
)
)
I still get the exact same results as before with MIN appearing in months in the future.
These NULLs are because the months are in the future so they are not INSCOPE?
I'm not sure how to fix this.
Hi @ArchStanton ,
I wanted to follow up and see if you had a chance to review the information shared. If you have any further questions or need additional assistance, feel free to reach out.
Thank you.
Hi, I've been away and not had a chance to look at your latest advice, I will try and get back to by the end of tomorrow at latest - thanks again for helping!
Hi @ArchStanton ,
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions.
Thank you.
Hi,
Unfortunately your code just gives me a 1 but not a 2 - the 1 is alongside missing Primary Topics.
MinMaxMeasure1 =
VAR valuesDisplayed =
ADDCOLUMNS ( SUMMARIZE ( ALLSELECTED ( 'Cases'),'Cases'[Created On]), "count", [Primary Topics] )
VAR MinVal =
MINX ( valuesDisplayed, [count] )
VAR MaxVal =
MAXX ( valuesDisplayed, [count] )
VAR Currentvalue = [Primary Topics]
VAR Result =
SWITCH ( TRUE (), CurrentValue = MinVal, 1, CurrentValue = MaxVal, 2 )
RETURN
ResultThe problem I have is that not every Primary Topic is populated (I have lots of NULLs), whereas your Date field is continous.
Any ideas?
Hi @ArchStanton ,
Thanks for reaching out to the Microsoft fabric community forum.
This is expected behavior in Power BI and works as designed. A matrix visual and a tooltip page are evaluated under different filter contexts. The matrix evaluates the measure across all visible rows, allowing Min and Max logic to compare values across the entire set of categories. In contrast, a tooltip page is evaluated only for the specific data point being hovered over, so the filter context contains just that value.
Since Min and Max calculations need multiple rows to compare, the measure returns a blank result in this context, which Power BI displays as two dashes in a card visual. This isn't a syntax issue or a problem with the measure, but rather how tooltip evaluation functions. To make Min or Max logic work the same way in a tooltip, you need to expand the filter context within the measure to include all relevant rows.
Please find the attached PBIX and Screenshort file for your reference.
Best Regards,
Tejaswi.
Community Support
Thanks for this, I tried opening the pbix but had errors - it looks like I'm back using a November version of PowerBI (I had a new work laptop recently). Once IT update me I'll have a look at what you attached and get back to you.
Hi @ArchStanton ,
Understood, that makes sense considering the laptop change.
Once IT has completed the Power BI update and you’re able to access the PBIX file, please let me know if you have any questions. In the meantime, if anything else comes up, please feel free to keep me informed.
Best regards,
Tejaswi.
Hi, I am using the latest version of PowerBI (2.149.1429.0) so I'm not sure why I'm getting these error messages? I'm based in the UK so maybe there's a delay here?
Anyway, I'm not far from finding a solution to this thanks to the help of another superuser (see thread below). The problem I'm having is that I have NULLs in my data so when counting the Min value it's picking up NULLs up instead of the MinCount.
Hi @ArchStanton
You need to force the measure to always consider the full set you want, ignoring the current tooltip row context:
MinMaxMeasureTooltip =
VAR ValuesDisplayed =
CALCULATETABLE (
ADDCOLUMNS (
SUMMARIZE ( 'Cases', 'Cases'[PrimaryTopic2] ),
"Count", [Primary Topics]
),
ALLSELECTED('Cases'[PrimaryTopic2]) // make sure all rows are included
)
VAR MinVal = MINX(ValuesDisplayed, [Count])
VAR MaxVal = MAXX(ValuesDisplayed, [Count])
VAR CurrentValue = SELECTEDVALUE('Cases'[PrimaryTopic2])
VAR Result =
SWITCH(
TRUE(),
CurrentValue = MinVal, "Min",
CurrentValue = MaxVal, "Max",
BLANK()
)
RETURN
Result
Did it work? 👍 A kudos would be appreciated
🟨 Mark it as a solution to help spread knowledge 💡
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 |
|---|---|
| 62 | |
| 50 | |
| 41 | |
| 20 | |
| 16 |
| User | Count |
|---|---|
| 124 | |
| 108 | |
| 47 | |
| 28 | |
| 27 |