Сложность этой 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 __10 = ""
VAR __20 = ""
VAR __30 = ""
VAR __40 = ""
VAR __50 = ""
VAR __60 = ""
VAR __70 = ""
VAR __80 = ""
VAR __90 = ""
VAR __100 = ""
VAR _10 = ""
VAR _20 = ""
VAR _30 = ""
VAR _40 = ""
VAR _50 = ""
VAR _60 = ""
VAR _70 = ""
VAR _80 = ""
VAR _90 = ""
VAR _100 = ""
VAR _Text =
"" & __Measure &"%" & ""
VAR __EndSVG = ""
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(), но я не могу сморщить мозг так, чтобы избежать цикла.