Forum Discussion

WeiKeongTan's avatar
WeiKeongTan
Frequent Visitor
1 year ago
Solved

Issues with Scatter Chart and Slicer

Hi, 

I would like to create a scatter chart in Power BI to visualize the spatial locations of semiconductor die based on their X and Y coordinates. The goal is to enable dynamic highlighting of specific dies based on the user interaction - QRTAG_U1.

 

The scatter chart should display all die locations (X vs Y) regardless of user selection. A slicer should allow users to select one or more values from the QRTAG_U1

 

By default, all die should be displayed in blue. When user selects one or more QRTAG_U1 from the slicer, die associated with the selected QRTAG_U1 should appear in red and all other die should remain in blue.

 

I’ve created a DAX measure for conditional formatting to change the color of points in a scatter chart based on the selected QRTAG_U1. However, when a QRTAG_U1 value is selected, only the points for that selection appear in red, and the other die locations do not remain visible in blue. May I know how can we enable the scatter chart to keep all other die locations displayed in blue while showing the selected QRTAG_U1 points in red?

 

DieColor = 
VAR _SelectedQRTAG = SELECTEDVALUE('wafer'[QRTAG_U1])
VAR _CurrentQRTAG = MAX('wafer'[QRTAG_U1])
RETURN
    IF (
        HASONEFILTER('wafer'[QRTAG_U1]), 
        IF (
            _CurrentQRTAG = _SelectedQRTAG,
            "Red",
            "Blue"
        ),
        "Blue"
    )

 

 

 

I have uploaded the sample data here:

https://drive.google.com/drive/folders/1sAcuXrYpx8tg3jNmxIa29r6cjWlX0bTj?usp=sharing 

 

Thanks for any assistance!

  • Hi:

    One of the workarounds is to create one disconnected table for ORTAG_U1 slicer, 

    QRTAG_U1_Slicer = VALUES(wafer[QRTAG_U1]).
     
    Then for the conditional formatting on die color, if you wanted to highligh single die in red, you can use this below, 
    Die_Color1 =
    VAR _SelectedQRTAGs = SELECTEDVALUE(QRTAG_U1_Slicer[QRTAG_U1])
    RETURN
    IF (
        MAX(wafer[QRTAG_U1]) = _SelectedQRTAGs,
        "Red",
        "Blue"
    )
     
    If you would like to multi-highlight dies in red, you may use this measure below:
    Die_Color2 =
    VAR _SelectedQRTAGs = VALUES(QRTAG_U1_Slicer[QRTAG_U1])
    VAR _HasSelection = ISFILTERED(QRTAG_U1_Slicer[QRTAG_U1])
    VAR _CurrentQRTAG = MAX(wafer[QRTAG_U1])
    RETURN
    IF (
        _HasSelection && CONTAINS(_SelectedQRTAGs, QRTAG_U1_Slicer[QRTAG_U1], _CurrentQRTAG),
        "Red",
        "Blue"
    )
     
    Thanks 
    Mason

3 Replies

  • Hi:

    One of the workarounds is to create one disconnected table for ORTAG_U1 slicer, 

    QRTAG_U1_Slicer = VALUES(wafer[QRTAG_U1]).
     
    Then for the conditional formatting on die color, if you wanted to highligh single die in red, you can use this below, 
    Die_Color1 =
    VAR _SelectedQRTAGs = SELECTEDVALUE(QRTAG_U1_Slicer[QRTAG_U1])
    RETURN
    IF (
        MAX(wafer[QRTAG_U1]) = _SelectedQRTAGs,
        "Red",
        "Blue"
    )
     
    If you would like to multi-highlight dies in red, you may use this measure below:
    Die_Color2 =
    VAR _SelectedQRTAGs = VALUES(QRTAG_U1_Slicer[QRTAG_U1])
    VAR _HasSelection = ISFILTERED(QRTAG_U1_Slicer[QRTAG_U1])
    VAR _CurrentQRTAG = MAX(wafer[QRTAG_U1])
    RETURN
    IF (
        _HasSelection && CONTAINS(_SelectedQRTAGs, QRTAG_U1_Slicer[QRTAG_U1], _CurrentQRTAG),
        "Red",
        "Blue"
    )
     
    Thanks 
    Mason
    • WeiKeongTan's avatar
      WeiKeongTan
      Frequent Visitor

      Thanks, Mason! I tried the workaround, and it works perfectly. Really appreciate your guidance!

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi WeiKeongTan,

    Thank you for reaching out in Microsoft Community Forum.

    Thank you MasonMA    for the helpful response.

    As suggested by MasonMA,  I hope this information was helpful. Please let me know if you have any further questions or you'd like to discuss this further. If this answers your question, please "Accept as Solution" and give it a 'Kudos' so others can find it easily.

    Please continue using Microsoft community forum.

    Regards,
    Pavan.