ТРЮК С ЦВЕТОМ

Клиент показал мне эту столбчатую диаграмму и спросил, как «закрасить графу «Цели» другим цветом». На самом деле он хотел, дифференцировать графу «Цели» и графу «Текущее», но таким образом, чтобы сохранить их связь с колонкой «Каналы» («Потребитель», «Онлайн», …).

Рис 1

Значения Канала ожидаемо меняются со временем, так что любое жесткое кодирование «Канала», связанное с цветом, потребует обслуживания. Я предлагаю следующее выражение для фонового Цвета:

if(Type=’Goal’
 ,argb(96,255,255,255) bitand color(FieldIndex(‘Channel’,Channel))
 ,color(FieldIndex(‘Channel’,Channel))
 )

Рис 2

Если Вам все понятно, то нет необходимости читать дальше. Если нет, позвольте мне разъяснить выражение более подробно.

В данном выражении мы устанавливаем значение Альфа на «96», где «Тип = Цель». «Тип = Текущий», а Альфа по умолчанию составляет «255».

Цветовые коды в QV состоят из четырех чисел — Альфа, Красный, Зеленый, Синий – значения, которые можно установить в цветовом диалоге или цветовой функции. Альфа указывает на уровень прозрачности, начиная от «0» (полностью прозрачный) до «255» (полностью непрозрачный). Цветовая функция без явно выраженного значения Альфа например «RGB (0,128,0)» Альфа по умолчанию = 255. Функция «color(n)» возвращает цветовой код на позицию «Nth» в графике цветовой палитры.

FieldIndex (‘Поле’, Значение) возвращает позицию «Значения» в «Поле» (по заказу загрузки). Таким образом, будет генерироваться номер для каждого отдельного Значения канала, независимо от того, сколько значений канала загружено. Мы эффективно приписываем стойкие цвета, потому что FieldIndex() не зависит от выбора.

1. Мы используем цвет (FieldIndex (“channel”, “channel”)), чтобы выбрать цвет N на палитре.

2. Если Тип = Цель мы используем логический оператор bitand, чтобы установить значение Альфа-канала для выбранного цвета «96», не изменяя значения RGB. Отрегулируйте значение 96 для эффекта, который Вам нравится.

 

Найти решение у бизнес-партнера QlikTech (QlikView) в России.

Форум разработчиков QlikView и Qlik Sense. Получите ответы на все вопросы по QlikView и Qlik Sense!

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

64 queries in 0,191 seconds