Функцию Dimensionality() можно использовать со сводной таблицей в качестве выражения диаграммы, когда требуется применять разное форматирование ячеек в зависимости от количества измерений в строке, содержащей неагрегированные данные. В этом примере функция Dimensionality() используется для применения черного фона к ячейкам таблицы, отвечающим заданному условию.
Скрипт загрузки
Загрузите следующие данные через встроенную загрузку в редакторе загрузки данных, чтобы создать пример с выражениями диаграммы, показанный ниже.
ProductSales: Load * inline [ Country,Product,Sales,Budget Sweden,AA,100000,50000 Germany,AA,125000,175000 Canada,AA,105000,98000 Norway,AA,74850,68500 Ireland,AA,49000,48000 Sweden,BB,98000,99000 Germany,BB,115000,175000 Norway,BB,71850,68500 Ireland,BB,31000,48000 ] (delimiter is ',');
Для получения дополнительной информации об использовании встроенных загрузок см. Встроенные загрузки.
Выражение диаграммы
Создайте на листе Qlik Sense визуализацию сводной таблицы с измерениями Country и Product. Добавьте меры Sum(Sales), Sum(Budget) и Dimensionality().
На панели Свойства введите следующее выражение в поле Выражение для цвета фона для меры Sum(Sales):
If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156), If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29) ))
Результат:
Объяснение
Выражение If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156), If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29))) содержит условные операторы, которые проверяют значение размерности, а также Sum(Sales) и Sum(Budget) для каждого продукта. Если условия соблюдаются, фоновый цвет применяется к значению Sum(Sales).