1-1. Создание простого приложения в Qlik Sense

Содержание урока:

  • Создание приложения;
  • Построение модели данных через диспетчер данных;
  • Изменение загружаемых данных.

Цели урока: построить простую модель данных, разобраться с базовым способом загрузки данных в Qlik.

Если у вас не установлен Qlik Sense Desktop, самое время сделать это по данной инструкции.

После запуска программы, вы увидите такое окно:

В терминологии Qlik этот интерфейс называется Хаб (Hub). Он будет содержать ваши будующие аналитические приложения.

Приложения — это набор дашбордов (Листы/Sheets), построенных на определенной модели данных.

Модель данных — это совокупность таблиц, полученных из источников, либо расчитанных внутри скрипта загрузки Qlik. А также связей между ними.

Создание приложения

Создайте новое приложение с помощью соответствующей кнопки, и назовите его «Анализ продаж».

Можете сразу открыть приложение. Т.к. в свежесозданном приложении нет данных, нам сразу предлагают их добавить.

Добавлять данные можно двумя способами:

  1. Через диспетчер данных (обведен красным);
  2. Через скрипт загрузки.

Какая между ними разница? Диспетчер данных предоставляет визуальный конструктор, с помощью которого загрузить данные может пользователь с минимальной технической подготовкой.

У данного удобства есть своя цена.

Во-первых, в этом конструкторе нельзя строить сложные модели. По сути, идеальный сценарий для него — одна таблица с фактическими данными (например, продажи), с облаком справочников вокруг нее.

Во-вторых, в конструкторе недоступны сложные преобразования данных. Фактически он расчитан на то, что вы берете уже качественные очищенные данные, и визуализируете их.

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

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

Скачайте файл с данными, который мы любезно для вас приготовили.

Выбираем добавление данных через Диспетчер данных.

Альтернативно, попасть в этот раздел можно через верхнее навигационное меню.

Вы увидите перечень возможных источников для подключения. Здесь есть как универсальные коннекторы вроде ODBC, так и специализированные, под различные сервисы. Нас же интересует источник Расположение файлов.

В нем надо найти скачанный ранее файл с данными

Когда откроете файл, то увидите окно предпросмотра данных. В нем есть:

  1. Перечень таблиц источника. Если в источнике несоклько таблиц (таблицы в базе данных, или листы в Excel), то здесь будет их список. Можно поставить галочки, чтобы пометить все поля таблицы для будущей загрузки.
  2. Настройки загрузки. Варьируются в зависимости от источника. Для табличных файлов могут содержать опции по пропуску первых X строк (если данные начинаются не с первой строки), настройки кодировки и т.д. В нашем случае, ничего нменять не надо.
  3. Предпросмотр данных. Показывает до 50 первых строк в источнике. Галочки в полях можно отключать, чтобы не загружать соответствующие поля. Также, при клике на заголовке поля, можно поменять его название для представления в визуальном слое.

Отметьте галочками таблицы Клиенты, География, Сотрудники, Продукты, Заказы, и нажмите на кнопку «Следующий».

Построение модели данных через Диспетчер данных

Qlik проанализирует содержание таблиц, и покажет нам экран сбора модели. Кружки на экране символизируют таблицы, полученные из источников. Нам надо собрать их в модель.

Здесь мы впервые встречаемся с особенностью ассоциативного движка. Если вы знакомы с концепцией SQL и реляционных баз данных, то вы знаете, что таблицы соединяются по парам Первичный — Вторичный ключ, а сама связь может быть нескольких типов: один к одному, один ко многим, многие ко многим.

В мире Qlik нет ни первичных/вторичных ключей, ни разновидностей видов связи. По сути, таблицы связываются между собой на основе одинаковых названий полей в таблицах. У данной связи нет ни направления, ни ограничения по типу. Этот подход позволяет легко создавать продвинутую логику исследования данных (чем мы и займемся в следующих занятиях).

А пока, давайте соберем модель. В наших таблицах уже есть поля с одинаковыми названиями. Например, поле CustomerID. Можно посмотреть пример в таблице Клиенты. В настоящий момент у этого поля подписан префикс в виде названия таблицы Клиенты. Qlik сделал это, чтобы связь не строилась сама, пока мы ее не одобрим.

Нажмите и удерживайте на таблице Клиенты левую кнопку мыши (ЛКМ). Вы увидите, как у таблиц Заказы и География появится зеленая обводка. Это значит, что Qlik определил возможные связи между таблицами. Полнота кругов зависит от колва совпадающих значений. Чем полее круг, тем больше совпадений.

Qlik нам подсказывает, что у таблиц География и Заказы есть одинаковые поля с таблицей Клиенты с большим кол-вом общих значений. Значит, между ними скорее всего есть связь.

Перетащите таблицу Клиенты на Заказы. Между ними образуется сцепка, которая называется ассоциацией. Щелкнув по ней, вы увидите, на основе какого поля она создана.

Аналогичным образом соедините таблицы География > Клиенты и Заказы > Продукты.

Теперь захватите мышкой таблицу Сотрудник. Упс, оказывается что для нее не показываются возможные ассоциации. Это происходит потому, что в данной таблице нет полей с названиями, совпадающими с полями других таблиц.

Мы могли бы повлиять на это на этапе отбора данных, сделав переименование, но этого не произошло.

Однако, не время грустить. Потому что мы можем задать ассоциации между таблицами в ручном режиме. Например, мы знаем, что таблица Сотрудники должна быть связана с Заказами. Перетащим Сотрудников на Заказы.

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

Для таблицы Сотрудники это будет поле EmployeeID, а для таблицы Заказы — EmployeeKey. Красный полукруг покажет, что общие значения между полями есть, но их кол-во составляет менее половины. Это нормально, т.к. справочник Сотрудники содержит всех сотрудников компании, а таблица Заказы — только часть сотрудников, отвечающих за продажи.

Дадим данной связи имя EmployeeID, и нажмем кнопку Связать.

У нас должна получиться вот такая структура:

Изменение загружаемых данных

Мы можем не просто загрузить данные как есть. Но и немножко их скорректировать. Для этого надо войти в редактирование таблицы, выделив нужную и нажав на карандашик внизу экрана.

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

Обратите внимание на этот индикатор. Здесь присутствует ошибка перевода. В оригинале этот термин назвается Null Values, т.е. «Пустые значения». Это буквально ячейки, в которых нет никаких данных. А то по текущему переводу можно подумать, что там записаны нули.

Также, в таблицах можно создавать новые поля, на основе вычислений сдругими полями текущей таблицы. Обратите внимание, что у нас в таблицу продаж нет поля с суммой продажи, зато есть поля с кол-вом товара, ценой товара, и скидкой.

Будет удобно расчитать поле с суммой продаж заранее, чтобы не усложнять наши формулы в визуальном слое. Для этого воспользуемся опцией Добавить поле.

В появившейся вкладке напишем формулу:

round((Quantity*UnitPrice)*(1-Discount),0.01)

Само поле назовем Sales.

Т.е. умножаем кол-во товара на цену, а потом на %, оставшийся после скидки. Дополнительно, округляем результат до сотых. Нам же не нужны суммы с кол-вом знаков после запятой как у числа Пи?

Обратите внимание, что:

  1. Аргументы в функциях разделяются запятыми (а не точкой с запятой, как в экселе);
  2. Указание дробной части числа в формулах происходит через точку;
  3. Если название поля состоит из нескольких слов, например Сумма продаж, то в формулах его нужно брать либо в двойные кавычки, либюо в квадратные скобки («Сумма продаж»,[Сумма продаж])

Завершаем процесс нажатем кнопки Создать внизу формы. Как результат, мы должны видеть поле в таблице.

Типы данных в полях модели Qlik

Вообще, в Qlik нет предопределенных типов полей, вроде текстового или числового. Qlik определяет назначение поля на основе анализа данных в нем. В диспетчере данных, таких назначений может быть 3:

Общий тип. Сюда попадают числовые, текстовые, или смешанные типы данных;

Даты. Они отмечаются иконкой календарика. Щелкнув по которому, можно выбрать желаемый формат даты в этом поле. Пример — поле OrderDate в таблице Заказы.

Географические данные. Отмечаются иконкой глобуса. Отметка ставится, если значения поля распознаны как названия населенных пунктов или областей (в т.ч. на русском языке). Такие даныне могут быть нанесены на карту без наличия координатных данных в явном виде.

Финализация изменений

Чтобы внесенные изменения (связи, новые поля) применились, нужно нажать на кнопку «Загрузить данные» в правом верхнем углу. Если у вас есть непрогруженные изменения, она будет гореть зеленым цветом.

После успешной загрузки, вы увидите окно, приглашающее перейти вас к визуализации данных. Займемся этим в следующем занятии.

Контрольные точки для продолжения

У вас собрана модель данных из 5 таблиц

Вы содали поле Sales в таблице Заказы

Это изображение имеет пустой атрибут alt; его имя файла - image-29.png

Вы можете скачать наш файл приложения для сверки. Чтобы открыть его у себя, извлеките из архива qvf файл, и поместите по адресу Мои документы/Qlik/Sense/Apps

1 Комментарий

  1. Евгений спасибо за материал.
    Опечатки: табилцами восопльзоваться восопльзуемся

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

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