Помните выпуск 2/5 Альманаха визуализации QlikView от Алексея Шабалина «Эффект бабочки в QlikView»? Ну так сегодня у нас сиквел – рассказываем, как сделать «эффект бабочки» в Qlik Sense. Этот тип диаграммы еще называется Tornado Chart. За подробную инструкцию спасибо участнику QlikCommunity, Arturo Muñoz, публикуем перевод его статьи.

Пошаговая инструкция по созданию диаграммы Бабочка (или Tornado Chart)

Весь пример мы разберем на простом наборе открытых данных со статистикой по населению США: в таблице 3 колонки – диапазон возраста, мужское население, женское население.

Шаг 1. Перетащите бар чарт на лист в Qlik Sense.

Шаг 2. Добавьте измерение. У меня это будет «Диапазон возраста» (Age range)

Шаг 3. Добавьте 2 выражения. Я добавил одно выражение для расчета женского населения и второе – для мужского.

Вот какая визуализация у нас пока получилась:

5.png

Шаг 4. Теперь поработаем с представлением бар чарта и данных в нем.

А). Сортировка. Отсортируйте чарт в соответствии с теми данными, которые у вас есть. Для этого набора данных лучший вариант – сортировка по численным значениям (для этого нужно зайти в раздел «Сортировка», снять сортировку «Авто» и выставить «Сортировка по численным значениям»).

Б). Вид -> Представление. Измените «Представление» на горизонтальное и стопкой, а «Метки значений» установите на «Авто».

Вот что у нас получается теперь:

6.png

Шаг 5. Теперь нам нужно понять, как «сдвинуть ось у в центр чарта». Для этого я немного поменяю данные – сделаю данные по женскому населению отрицательными при помощи выражения: Sum(FemalePopulation)*-1

Вот как сработала наша уловка: 7.png

Шаг 6. Чарт уже выглядит почти правильно, но кое-что смущает… Верно, это отрицательные значения на подписях в женском населении. Технически все верно, но пользователь будет точно введен в заблуждение, если мы ничего не сделаем с этими минусами перед значениями.

Мы можем установить формат положительных и отрицательных значений для любого выражения. Формат функции Num учитывает 2 параметра: первый указывает, как форматировать числа >0, а второй – как форматировать числа <0.

=num(sum(x), ‘postivenumberFormat;negativenumberFormat’)

Поскольку нам нужно, чтобы отрицательные и положительные значения выглядели абсолютно одинаково, я использую такое выражение:

num(sum(FemalePopulation)*-1,’#,##0;#,##0’)

8.png

Внимание! При экспорте чарта будьте внимательны, т.к. данные могут содержать отрицательные значения.

 

Коллеги, а какие идеи из Альманахов визуализации QlikView вы уже попробовали реализовать на Qlik Sense? Расскажите в комментариях!