Forum Discussion

wujunmin's avatar
wujunmin
Advocate III
4 years ago

Waffle chart by DAX

 

Matrix

 

Card

 

You only need a measure and mark it as image URL:

SVGChart =
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-5&"' cy='"&[Value1]*10-5 &"' r='4' fill='"&IF([Index]<=ROUND([KPI]*100,0),"Grey","LightGrey")&"' fill-opacity='0.4'/>")
VAR Chart=
"data &colon;image/svg+xml;utf8,"&"
<svg xmlns='http://www.w3.org/2000/svg' height='100' width='100'>"&
CONCATENATEX(tWaffle,[circle])&"
<!-- Data label -->
<text x='50' y='50' font-size='25' text-anchor='middle' dominant-baseline='middle' fill='"& IF([KPI]>=0.3,"DarkCyan","Tomato")&"'>"&ROUND([KPI]*100,0)&"%"&"</text>
</svg> "
Return
IF(HASONEVALUE('Table'[StoreID]),Chart,BLANK())

 

No RepliesBe the first to reply