Reply
wujunmin
Advocate III
Advocate III

McKinsey‘s waffle chart by DAX

wujunmin_2-1663809909429.png

 

Mark this measure as ImageURL and put it in table  or matrix

 

Waffle =
VAR t =
    GENERATESERIES ( 1, 10 ) 
VAR tPlus =
    GENERATE ( SELECTCOLUMNS ( t, "Value1", [Value] ), t ) 
VAR tPlusPlus =
    ADDCOLUMNS ( tPlus, "Index", RANKX ( tPlus, [Value] + [Value1] / 100,, ASC ) ) 
VAR tWaffle =
    ADDCOLUMNS (
        tPlusPlus,
        "circle",
            "<circle cx='" & [Value] * 10 + 15 & "' cy='" & [Value1] * 10 + 15 & "' r='4' fill='"
                & IF ( [Index] <= ROUND ( [percent] * 100, 0 ), "Black", "LightGrey" ) & "' />"
    ) 
VAR Chart =
    "data&colon;image/svg+xml;utf8," & "
    <svg xmlns='http://www.w3.org/2000/svg' width='150' height='150'>" & "
        <g transform='rotate(-90,75,75)'>"
            & CONCATENATEX ( tWaffle, [circle] ) & "
        </g>
        <text x='70' y='20' font-size='15' text-anchor='middle' >"
            & ROUND ( [percent] * 100, 0 ) & "</text>
        <text x='70' y='148' font-size='15' text-anchor='middle' >"
            & SELECTEDVALUE ( 'table'[store] ) & "</text>
    </svg> "
RETURN
    IF ( HASONEVALUE ( 'table'[store] ), Chart, BLANK () )

 

1 REPLY 1
elimcd79
Advocate II
Advocate II

This was exactly what I needed - thank you!!!!

avatar user

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)