Сложность этой svg заключается в генерации остатка серых прямоугольников. Мне красиво, но пока не оптимально скорее всего.
1000. SVG KPI Sales =
VAR __Measure = INT([% Выполнения]*100)
VAR __Color =
SWITCH(
TRUE(),
__Measure<=50, "#FF6B6B",
__Measure<=70, "#FFB000",
"#00B097"
)
VAR __FirstSVG = "data:image/svg+xml,"
VAR __SwitchPart=
SWITCH(
TRUE(),
__Measure<10, _10&_20&_30&_40&_50&_60&_70&_80&_90&_100,
__Measure<20, __10&_20&_30&_40&_50&_60&_70&_80&_90&_100,
__Measure<30, __10&__20&_30&_40&_50&_60&_70&_80&_90&_100,
__Measure<40, __10&__20&__30&_40&_50&_60&_70&_80&_90&_100,
__Measure<50, __10&__20&__30&__40&_50&_60&_70&_80&_90&_100,
__Measure<60, __10&__20&__30&__40&__50&_60&_70&_80&_90&_100,
__Measure<70, __10&__20&__30&__40&__50&__60&_70&_80&_90&_100,
__Measure<80, __10&__20&__30&__40&__50&__60&__70&_80&_90&_100,
__Measure<90, __10&__20&__30&__40&__50&__60&__70&__80&_90&_100,
__Measure<100, __10&__20&__30&__40&__50&__60&__70&__80&__90&_100,
__10&__20&__30&__40&__50&__60&__70&__80&__90&__100
)
RETURN __FirstSVG & __SwitchPart &_Text& __EndSVG
P. S. : Наверное, это как-то можно запихнуть в REPT(), но я не могу сморщить мозг так, чтобы избежать цикла.