Функции работы с цветом (RGB, ARGB, HSL)

Приветствую.
Предлагаю добавить в LPE выражения функции работы с цветом, которые будут возвращать значение цвета в формате HEX (#123ABC)

RGB() возвращает целое число, соответствующее коду цвета, определенного тремя параметрами: красный канал r, зеленый канал g и синий канал b. Значения этих каналов должны быть целыми числами от 0 до 255. Эту функцию можно использовать в выражениях для установки или проверки свойств цвета объекта диаграммы.
Синтаксис: RGB (r, g, b)

ARGB() используется в выражениях для установки или оценки свойств цвета объекта диаграммы, где цвет определяется красным r, зеленым g и синим b компонентами с коэффициентом alpha (прозрачность) alpha (0-255).
Синтаксис: ARGB(alpha, r, g, b)
alpha: Значение прозрачности в диапазоне 0–255. 0 соответствует полной прозрачности, а 255 соответствует полной непрозрачности.
r, g, b: Значения красного, зеленого и синего компонентов. Цветовой компонент 0 соответствует отсутствию влияния, а компонент 255 соответствует полному влиянию.

HSL() используется в выражениях для установки или оценки свойств цвета объекта диаграммы, где цвет определяется значениями hue, saturation и luminosity в диапазоне от 0 до 1.
Синтаксис: HSL (hue, saturation, luminosity)

Честно взято тут: Функции цвета | Qlik Cloud Справка

Пример использования: lpe:argb(value*255, 123, 125, 126), где value значение от 0 до 1

Задача:
Дано: доля выполнения факт/план. Значения от 0 до 1 и больше
Необходимо покрасить ячейки таблицы в градиент. В зависимости от % выполнения плана.
0% - белый (прозрачный)
100% и более - зелёный (например: #d9e9df)

Как бы я хотел, чтобы эта задача была решена:

backgroundColor: "lpe:ARGB(if(value>1,1,value), 217,233,223)",

Как решаем сейчас:

backgroundColor: "lpe:if(value>0.90, '#3399FF', if(value > 0.80, '#47A3FF', if(value > 0.70,'#5CADFF', if(value > 0.60, '#70B8FF', if(value > 0.50, '#85C2FF',  if(value > 0.40, '#99CCFF', if(value > 0.30, '#ADD6FF', if(value > 0.20, '#C2E1FF', if(value > 0.10, '#D6EBFF',if(value > 0.05, '#EBF5FF', '#ffffff'))))))))))",

Минус данного решения в том, что пользователь увидит одинаковую расцветку для значений 0,201 и 0,299, что не верно!

Добрый день!
Сделали так:
hsl - пишете как обычно

style: {
   measures: {
      sum_v_main: {
        options: ["ColorX"],
        color: "lpe:hsl(v* 0, 0.12, 0.13)"
      }
    }
}

rgba
Пишете или все 4 аргумента, или только три - и тогда это rgb. По идее туда можно условия ставить для каждого аргумента

style: {
   measures: {
      sum_v_main: {
        options: ["ColorX"],
        color: "lpe:rgba(v* 0.5, 12,  255)"
      }
    }
}

Попадет в 9.3.3

1 лайк

Благодарю