Альманах визуализации, выпуск №1/8.Что можно отобразить на прямой в QlikView?

Алексей Шабалин

Алексей Шабалин

Опыт работы с QlikView: с февраля 2012 года

Увлечение и хобби:
визуализация и анализ данных, генератор идей, проработка новых технологий, разработка наглядных систем контроля процессов.
Алексей Шабалин

Часто схожие результаты показателей по нескольким фиксированным группам надо отображать одновременно на одном Dashboard. Если возможные значения показателей лежат в известном диапазоне, тогда есть возможность показать результаты на одной прямой.

Сегодня по шагам расскажу, как создать такое представление результатов.

QlikView: Работа с прямой

Сначала определимся с самой прямой. Нужно выбрать её размер и цветовую заливку.

  1. Создадим прямую при помощи объекта «Текст» (Text), выбрав заливку фона по градиенту между двух цветов.

НА ЗАМЕТКУ! Если мы хотим сделать переход от верхнего цвета к нижнему через промежуточный, третий, цвет, нам понадобится создать линию, состоящую уже из двух текстовых объектов, одинаковых по высоте и состыкованных «встык» без зазора.

В нашем примере:

  • верхний цвет — RGB(12,95,248)
  • промежуточный цвет — RGB(216,29,231)
  • нижний цвет — RGB(255,223,5)
  1. У объектов в Свойствах отключаем бордюр
  2. Также, естественно, отключаем заголовок.
  3. Созданную «полоску» помещаем на самый дальний план (выставляем Слой = -2) Визуализация данных в QlikView

QlikView: Точки на прямой

Теперь отобразим непосредственно сами «точки» на нашей прямой.

  1. Для этого создаем объект Линейный график (Line Chart).
  2. Вкладку Измерения (Dimensions) у него пропускаем – на ней не надо ничего выбирать
  3. На вкладке Выражения (Expression):
  • Добавляем столько точек, сколько хотим отобразить разных фиксированных групп. В нашем случае это:
    Выражение1:  SUM( IF(DATA_GROUP=group-1, DATA_PROCENT))
    Выражение2:  SUM( IF(DATA_GROUP=group-2, DATA_PROCENT))

Выражение3:  SUM( IF(DATA_GROUP=group-3, DATA_PROCENT))
Выражение4:  SUM( IF(DATA_GROUP=group-4, DATA_PROCENT))

  • У всех созданных выражений отключаем внизу галочку «Выражения как легенда» (Expressions as legend)
  • Поскольку линии нам здесь не нужны, в «Показать опции» (Display Options) ставим галочку только у «Символ» (Symbol) и выбираем символ = «Круги» (Circles). Свойства диаграммы Qlik
  1. На вкладке Стиль (Style)
  • Оставляем ориентацию как есть – вертикальные столбцы,
  • Вид выбираем самый первый наверху, обычные линии (без теней).Свойства диаграммы Qlik
  1. На вкладке Представление (Presentation)
  • Увеличиваем размер «Размер символа» (Symbol size) до 4 точек,
  • Отключаем «Всплывающие метки» (Pop-up Labels)
  • Отключаем «Подсветка» (Highlight)Свойства диаграммы Qlik
  1. На вкладке Оси (Axes)

Прячем оси у всех заданных выражений. Для этого:

  • ставим галочку «Скрыть оси» (Hide Axes),
  • Оставляем галочку «Forced 0» у всех,
  • Только у первого выражения устанавливаем:

«Стат.мин.» (Static Min) = -5,

«Стат. Макс.” (Static Max) = 105,

«Стат. Шаг.» (Static Step) = 1.Свойства диаграммы Qlik

  1. На вкладке Макет (Layout)
  • Выключим галочку «Использовать границы» (Use borders)
  • Установим уровень Слой -> «Пользовательский» = 5 (Layer -> Custom)Свойства диаграммы Qlik
  1. На вкладке Цвета (Colors) – выставляем цвет первых четырех квадратиков белым.Свойства диаграммы Qlik

Получаем:Визуализация данных в QlikView

  1. Теперь подгоняем размер нашего линейного графика под размер линии, и чтобы «точки» встали посередине линии. Для подгонки размеров, можно у одной точки временно прописать в формуле «=1», а у другой «=0».
  2. Если есть необходимость добавить второй ободок другого цвета к нашим точкам, как
    в моем примере, нужно просто клонировать уже готовый объект Линейный график (Line Chart), оставив его на том же месте, а в его свойствах только поменять:
  • на вкладке «Представление» (Presentation) — «Размер символа» (Symbol Size)=6
  • на вкладке «Макет» (Layout) — раздел Слой -> «Пользовательский» (Layer -> Custom) = 4
  • на странице «Цвета» (Colors) меняем цвет первых четырех квадратиков

Получаем:

Визуализация данных в QlikView Уже сейчас можно повыбирать различные месяца, разные комбинации групп, чтобы посмотреть что получилось… Но пойдем дальше.

QlikView: Управление линиями

Теперь рассмотрим самый интересный прием — управление линиями!

  1. Для начала нам понадобится в скрипте — создать особую отдельную таблицу:

Эта таблица не должна соединяться ни с какой другой таблицей в макете, а к названию таблицы и поля мы добавили символ «_», чтобы скрыть и саму таблицу, и поле от пользователя. Это делается ещё одной командой в скрипте:

  1. Теперь создадим новый объект Диаграмма — «Пузырьковая диаграмма» (Chart – Scatter Chart) и на вкладке «Измерения» (Dimensions) зададим два вычисляемых дименшина:

первый:  =IF( _ТОЧКА<=3, _ТОЧКА)

второй:  =IF( Match(DATA_GROUP,group-2,group-4), DATA_GROUP)

Для чего нам это понадобилось?

Первый дименшен — определяет нам для «рисования» линий три возможные координаты абсцисс: 1,2 и 3.

Для второго дименшина отбираем две четные наши группы: 2 и 4.

Дело в том, что этой «пузырьковой диаграммой» (Scatter Chart) мы нарисуем только правые две линии сносок, идущие к группе 2 и 4.

  1. Перейдем на вкладку «Выражения» (Expressions) и включим «Продвинутый режим» (Advanced Mode).
  • вместо первого выражения напишем:
    =_ТОЧКА
  • вместо второго выражения:
    =Pick( _ТОЧКА,
    Sum(DATA_PROCENT),
    IF(DATA_GROUP=group-2, 90, null()),
    IF(DATA_GROUP=group-4, 50, null()) )
    Визуализация данных в QlikView Получаем:Визуализация данных в QlikView

Первое выражение задает координату X для каждой линии, второе — координату Y. То есть формула второго выражения для случая, когда X=1 определяет координату Y, исходя из значения выражения SUM(DATA_PROCENT) для нашего второго дименшина (group-2 и group-4). Точки Y для случая, когда X у линий будет равен 2, задаем условием: для group-2 это 90, для group-4 нет точки вообще. (null — не рисуется).

Аналогично для случая X=3. Тут только линия, рисующая для group-4, имеет Y координату = 50.

  1. Далее – косметические манипуляции:
  • На вкладке Общие (General)
    • Отключаем галочку: «Показывать заголовок диаграммы» (Show Title in chart),
    • Ставим галочку «Только для чтения» (Read only)
  • На вкладке Измерения(Dimensions)
    • Уберем галочки «Метки» (Label) у обоих наших дименшинов,
    • У второго дименшина включим галочку «Скрыть значение Null» (Suppress when value is Null)
  • На вкладке Представление (Presentation)
    • Отключаем галочку «Показать легенду» (Show Legend)
    • Отключаем галочку «Авторазмер символов» (Autosize Symbols)
    • Ширину линии (Line Width) ставим = 1.
    • В «Представление» (Representation) выбираем режим «Только линии» (Only lines).
    • Отключаем галочки “Show X label”, “Show Y Label”, “Highlight”, “Pop-up Labels”
      Визуализация данных в QlikView
  • На вкладке Макет (Layout)
  • Отключаем бордюр «Использовать границы» (Use Borders)
  • Отключаем опцию «Разр. Перем/Ред» (Size to data).
  • «Слой» (Layer) выставляем пользовательский (Custom) = 9, чтобы линии были поверх всего.Визуализация данных в QlikViewПолучаем:Визуализация данных в QlikView
  • На вкладке Заголовок (Caption) выключаем опцию «Показывать заголовок» (Show Caption).
  • На вкладке Оси (Axes)
  • У «X оси» выключим галочку «Forced 0»
  • Включим галочки «Скрыть оси» (Hide Axis) у обоих осей «X ось» и «Y ось».
  • Зафиксируем масштаб: включим галочки «Стат.мин.» (Static Min) и «Стат.макс» (Static Max) у «X оси» и впишем возможные значения: Мин=1, а Макс=3.
  • Зафиксируем масштаб: включим галочки «Стат.мин.» (Static Min) и «Стат.макс» (Static Max) у «Y оси» и впишем возможные значения: Мин=0, а Макс=100.Визуализация данных в QlikView
  • На вкладке Цвета (Colors) два первых квадратика цвета сделаем черными.Визуализация данных в QlikView

В итоге получим такой результат:

Визуализация данных в QlikView

  • Ну а теперь, нам осталось только на той же вкладке «Цвета» (Colors) сделать фон прозрачным (в разделе «Граница фона» (Frame Background)) и подогнать размеры объекта под нашу линию и крайние точки на ней:

Визуализация данных в QlikView

  1. Правые точки наших линий закреплены и не двигаются, поэтому в эти места можно разместить стационарно любые другие объекты, которые будут пояснять значения данных точек на графике.

В моем примере это два «Текст» (Text) объекта, которые выглядят как листки бумаги из блокнотика. Вы можете придумать что угодно своё, главное здесь — это меняющиеся линии сносок.Визуализация данных в QlikView

  1. Линии слева для групп «group-1» и «group-3» делаем аналогичным образом, с той лишь разницей, что:
  • Во втором дименшине надо прописать:

=IF( Match(DATA_GROUP,group-1,group-3), DATA_GROUP)

  • Во втором «Выражении» (Expression) теперь надо написать:

 =Pick( _ТОЧКА,
IF(DATA_GROUP=group-1, 60, null()),
IF(DATA_GROUP=group-3, 22, null()),
Sum(DATA_PROCENT) )

  1. Ну а на самих «листочках-сносках» можно разместить ещё какую-нибудь дополнительную информацию — например, динамику изменения этого показателя за прошедший период:Визуализация данных в QlikView

На этом сегодня все! Комментируйте и делитесь своими идеями!

Алексей Шабалин

Опыт работы с QlikView: с февраля 2012 года Увлечение и хобби: визуализация и анализ данных, генератор идей, проработка новых технологий, разработка наглядных систем контроля процессов.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Подпишись на Data-Daily!

Введите email и будьте в курсе!

Подпишись!