The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hi,
I would like a slicer to highlight or conditionally format the data point in a scatter plot when you select a value in a slicer. I attach a photo below. I would like to choose a single name in the slicer on the right and the corresponding data points be conditionally coloured red in the scatter plot. If not possible I would be happy for the data points to be highlighted. I have looked at some solutions online but have been unable to figure out.
Thanks
Solved! Go to Solution.
I think this is what you are after:
The method I followed was:
1) In power query, create a "Highlight ID" in the main table (basically concatenate [name] & [Time (secs)] & [x with jitter])
2) In power query, create a Dimension Table (for your slicer) including [name] and [Highlight ID]
3) load into the model. Make sure there are no relationships between the fact table and the newly created Dim table.
4) Set up the slicer using the [Name] field from the newly created 'Dim Table Name'
5) Set up the scatter chart as you have done with the "x with jitter" and "Time (secs)" as your axes (make sure the fields are not summarized or aggregated). Both these fields are obviously from the main fact table.
6) Create you conditional formatting measure, like:
Condit Format Highlight measure =
VAR check = VALUES('Dim Table Name'[Highlight ID])
VAR table_= VALUES('scatter chart highlight'[Highlight ID])
VAR calc = COUNTROWS(
INTERSECT(check, table_))
Return
IF(calc =1, 2)
5) Use this measure as your "Rule field" in the conditional formatting inputs (set the colour for a true of "2"
And that's it.
PS. You might find some points are not visible. This is because of the density of the data (some points may be "hidden" behind others). You might have to play around with the bubble size option, the fill point or the actual colours
Here is the PBIX file for your reference:
Proud to be a Super User!
Paul on Linkedin.
I am trying to get this to work with my scatter plot, but I don't see any conditional formatting options. I have Position on the X-Axis, Count on the Y-Axis, and Name in the Legend. I then turned all of the individual legen markers to be the same color, but I don't see a conditional formatting option of a color function for the markers. Any help?
In the original example, the conditional formatting is applied to the marker itself. So under Marker -> Color
Proud to be a Super User!
Paul on Linkedin.
I think this is what you are after:
The method I followed was:
1) In power query, create a "Highlight ID" in the main table (basically concatenate [name] & [Time (secs)] & [x with jitter])
2) In power query, create a Dimension Table (for your slicer) including [name] and [Highlight ID]
3) load into the model. Make sure there are no relationships between the fact table and the newly created Dim table.
4) Set up the slicer using the [Name] field from the newly created 'Dim Table Name'
5) Set up the scatter chart as you have done with the "x with jitter" and "Time (secs)" as your axes (make sure the fields are not summarized or aggregated). Both these fields are obviously from the main fact table.
6) Create you conditional formatting measure, like:
Condit Format Highlight measure =
VAR check = VALUES('Dim Table Name'[Highlight ID])
VAR table_= VALUES('scatter chart highlight'[Highlight ID])
VAR calc = COUNTROWS(
INTERSECT(check, table_))
Return
IF(calc =1, 2)
5) Use this measure as your "Rule field" in the conditional formatting inputs (set the colour for a true of "2"
And that's it.
PS. You might find some points are not visible. This is because of the density of the data (some points may be "hidden" behind others). You might have to play around with the bubble size option, the fill point or the actual colours
Here is the PBIX file for your reference:
Proud to be a Super User!
Paul on Linkedin.
@PaulDBrown Thank you so much that is terrific and thank you also for the detailed explanation it made it very easy to understand the steps you took! Have a great day!
Hi again. Just wanted to point out that the method works even if you use the [Name] fields in the conditional formatting measure (no need for the setting up Highlight IDs etc). The reason I went with the Highlight IDs was because I was going to use SELECTEDVALUE (until I realised that each name had more than one point in the chart.)
Anyway, Just thought it was worth mentioning.
Proud to be a Super User!
Paul on Linkedin.
Hi @AuroraNI ,
Please refer to my .pbix file.
Best regards,
Lionel Chen
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @v-lionel-msft thanks for your reply, I created the measure and conditionally formatted based on your file and does a great job in changing to red. Thank you! I would like to keep all the other points in the scatter plot rather than filter them out very much like the solotion here: http://sqljason.com/2018/03/highlighting-scatter-charts-in-power-bi-using-dax.html
I attach my PBI file below
Hi @AuroraNI ,
Looks like you are looking cross-highlighting feature in Power BI. See the link below:
In think it doesn't exist for scatter charts but exists for bar-charts, pie-charts, etc.
Check the document in the above link.
Thanks,
Pragati
Change the slicer to a table.
now when you click on a name, it should dynamically highlight the corresponding data.
Hi Thanks for the reply,
I have tried this but it filters the data and only shows the selected data points...I would like to keep all the other data points either in the same original colour or faded.