Forum Discussion

Sdg8481's avatar
Sdg8481
Icon for Helper I rankHelper I
6 years ago
Solved

SVG Bar Chart within a table

Hi, from searching on the internet i found this brilliant code for adding a barchart into a standard table.

 

However, i can see that ChartScale is hardcoded (at 10,000), however all of my values in the table vastly differ and are independent of each other, therefore a fixed scale doesn't work.

 

How can i adapt the code below so that the Chart Scale is relative to the Maximum value for each row ('Area|Attribute') in the table. Apologies in advance, i'm a complete DAX novice.

 

Dynamic Chart = 
var BaseURL = "https://chart.googleapis.com/chart?"
var ChartType = "cht=bvs"
var ChartScale = "&chds=0,10000"
var ChartSize = "&chs=150x150"
var SeriesColour = "&chco=000000"
var ChartData = "&chd=t:" & CONCATENATEX('D - Current Year Data By Week (for Trend)','D - Current Year Data By Week (for Trend)'[zValue (week) as Measure], ",", 'D - Current Year Data By Week (for Trend)'[Reporting Thursday])
return IF(HASONEVALUE('D - Current Year Data By Week (for Trend)'[Key1: Area|Attribute]), BaseURL & ChartType & ChartScale & ChartSize & SeriesColour & ChartData)
 

Thanks

Stu

  • That probably means that internally the SVG defaults the chart scale to 100 if no value is given.

     

    In that case you need to provide a dynamic chart scale based on your largest number.

     

    Say, your numbers a and b are 4300 and 3500.  Then your chart scale should be a "1"  followed by 

     

    (int(LOG10(max(number a,number b))+1) "0"  strings.