ДЕНЬ 11
Вычисления, функции и переменные
СЕГОДНЯ

Преодолеваем океан пользовательских функций, необходимых для проведения различных вычислений. Освоим управление редактором выражений, и подробно, на примерах с описаниями, разберем работу наиболее полезных функций. Для упрощения и систематизации работы с вычислениями поймем механизм создания переменных. На полке сегодня – работы по развитию аналитических талантов и стандарты в области бизнес-аналитики, чтобы понять, какие области покрываются столь загадочной профессией. Расчищаем путь к неделе дашбордизма, осваивая последние технические кусочки знаний. Клик клик ура! Ныряем.
Разбираемся
Как считать и использовать функции
Работа с данными
Одно из главных преимуществ Qlik Sense – независимость пользователей от ИТ-команды, которая поддерживает источник данных где-то на серверах. Если вам нужно сделать дополнительные расчеты, преобразования и вычисления – вы можете это сделать напрямую в Qlik, своими силами и без привлечения разработчиков БД. При этом, вычисления будут проводиться только на уровне приложения в Qlik Sense, и не будут влиять на исходную базу. Поэтому вы можете оставаться спокойными за качество исходных данных.

Возможности настройки пользовательских вычислений и дополнительных расчетов в Qlik Sense поражают: арсенал доступных встроенных функций велик. Новичку будет сложно разобраться во всех функциях сразу и выстроить в голове процесс создания вычислений. Поэтому, в этом блоке мы постараемся максимально легко рассказать вам о возможностях продукта и сформировать стартовое понимание.
Вычисления, операторы и функции
Вычисление – это любой пользовательский алгоритм расчета нового поля на основе уже имеющихся в источнике. Основа вычислений заключается в функциях. Функции используются для выполнения математических, логических, проверочных и множества других видов операций над данными в памяти продукта (in-memory). Например, если у вас в источнике данных есть поля "Выручка" и "Количество товаров", вы сможете посчитать среднюю выручку на один товар, поделив эти два показателя друг на друга. Это будет вашим новым вычислением.

Вычисления в Qlik Sense могут быть созданы локально прямо в свойствах диаграммы – через иконку Fx – и применяться для показа и расчета только на этой диаграмме, где они и были созданы. Если вы хотите использовать такие локальные вычисления повторно, вы можете либо скопировать их, либо создать мастер-полеосновное измерение или меру. Тогда мастер-поля будут доступны для всего приложения, и вы сможете выбирать их повторно.

Создание вычислений
При работе с вычислениями, вы будете использовать разные операторы и функции. Помимо основных операторов простых арифметических действий (+,-,*,/), есть также специфичные операторы. Наиболее полезные из них ниже.

Подробнее про операторы →
Операторы
СОВЕТ
Все логические операторы возвращают true (-1) или false (0) как результат
Функции в Qlik Sense поделены на смысловые категории.
В основные группы можно выделить функции:
  • Логические
  • Строковые
  • Даты и времени
  • Агрегирования
  • Условий
  • Финансовые
Также есть функции по работе с NULL-значениями, форматирования, ранжирования, цвета, функции вероятности, логарифмов, статистики и много других. Большое количество функций позволяет вам гибко общаться с данными, но не пугайтесь их количества. В процессе работы вы быстро определите для себя самые полезные, подходящие под ваши задачи и будете быстро ориентироваться в списке функций благодаря поиску.

Полный список функций →
    Редактор выражений
    Независимо от того, каким способом вы делаете новое вычисление, все вычисления создаются в Редакторе выражений. Это ваш интерфейс по написанию и проверке кода выражения.

    Редактор выражения содержит:
    • область для написания кода
    • выбор полей, функций, выражений множества и переменных
    • статусную строку с описанием появляющихся ошибок

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

    Пример выражения логической функцией IF:
    IF(Sport='Biathlon',Count([Name of Athlete]))
    Выражение посчитает количество (Count) всех спортсменов (Name of Athlete), которые участвовали в биатлоне (условие Sport = Biathlon). Такое выражение вернет результат только если на диаграмму будут выведены виды спорта.
    Редактор выражений
    Полезные функции
    О которых нам хочется рассказать
    У всех функций Qlik есть круглые скобки, внутри которых записываются аргументы. Вы можете оперировать результатами нескольких функций, складывать и вычитать значения других функций, использовать вложенность.

    Ниже краткий список нескольких полезных функций по мнению экспертов нашего Марафона:
    Функция, которую мало кто понимает в Qlik
    AGGR( )
    Переменные
    Для упрощения и систематизации работы с вычислениями
    Переменная в Qlik Sense является контейнером, в котором хранится выражение для отображения или расчета данных. Переменные удобно использовать в вычислениях. Они помогают систематизировать работу при большом количестве расчетов. Если вы используете переменную в нескольких вычислениях, то при изменении кода исходной переменной, все расчеты в зависимых вычислениях тоже обновятся.

    Переменные отличаются от мастер-мер и мастер-измерений, тем, что они могут не брать в основу какие-либо поля из источника данных, т.е. быть совершенно независимыми от ваших данных (например, производить расчет текущей даты).

    Переменная может быть константой или вычисляемым значением. Если переменная var константа, то в редакторе выражений она будет выглядеть как просто var, а если переменная вычисляемое значение, то $(var).

    На переменные можно ссылаться как на функции. В переменных можно создавать свои собственные аргументы для расчета. Например, внутри переменной multiplikator написан вот такой код, где $1 – место для первого аргумента, а $2 – для второго:
    переменная multiplikator
    $1*$2
    Если на эту переменную сослаться уже в новом вычислении, при условии, что первый аргумент = 2, а второй аргумент = 7, то результат будет равен 14:
    вызов переменной-функции в редакторе выражений нового вычисления
    $(multiplicator(2,7))       //результат = 14
    Если при вызове переменной должен произойти какой-либо расчет (арифметическое действие, функция, алгоритм), то при использовании переменной вы должны написать знак "$" и заключить имя переменной в круглые скобки. Это служит сигналом для восприятия текста внутри переменной как последовательность действий, которую нужно выполнить.

    Если вы не будете писать знак "$" перед названием переменной, то ее содержимое будет восприниматься как константа и возвращать просто текстовое значение, без расчета.
    Как добавлять в переменные пользовательские значения
    При помощи extension
    Переменными скорее пользуются более продвинутые пользователи Qlik, перед которыми стоит задача разработки сложного и многоуровневого приложения. Переменные не обязательны к использованию простыми начинающими пользователями, однако они в любом случае оптимизируют работу и упрощают систематизацию всех вычислений.
    Практикуемся
    В решении кейсов
    Сегодня продолжаем работать с данными из предыдущего дня. Если вы не выполняли вчерашнее задание, то ниже можете скачать исходный файл.

    Решение предыдущего дня 10
    О датасете
    Набор данных представляет собой средние зарплаты по регионам России со средними тратами в ресторанах в разбивке до месяца

    Скачать исходное приложение
    Задания
    1. Создайте линейный график по месяцам за 2016 и 2017 годы, который будет показывать средние траты жителей России в ресторанах
    2. Добавьте аналогичные графики по 3 регионам, для этого запишите часть сет анализа в переменную sSetAnalis (Москва, Краснодарский край, Липецкая область). Какие регионы выше и какие ниже относительно среднероссийского уровня?
    3. Создайте функцию fFunction() которая будет возвращать вам тот же сет анализ, но по заданному в параметре региону добавьте на новый график линии по Алтайскому краю, Мурманской области и Республике Дагестан
    4. * Можно ли создать функцию, которой можно передавать пустой параметр для расчета по России
    5. Доработайте KPI "Средние траты по Москве в 2015" используя функции в переменных с условием, чтобы в зависимости от передаваемого параметра оно показывало - "Средние траты по Москве" или "Минимальные траты по Москве", причем, чтобы менялось как значение, так и метка
    Вдохновляемся
    Изучаем прекрасное в сети
    Полезные ссылки по теме
    В сегодняшнем блоке полезных ссылок – где искать информацию по функциям кроме хелпа Qlik, вопросы, которые могут задавать на собеседовании по Qlik Sense и статья-размышление с практическими советами.
    Погружаемся
    В тематические книжки и видео
    Артефакты
    Помогут Вам лучше усвоить и вовремя вспомнить основные элементы методик, подходов, последовательностей действий, проверенных практик
    Книги
    Развивая аналитический талант
    Винсент Гранвиль
    Гид по знаниям бизнес-аналитика
    v3
    Развиваем аналитические таланты.
    Итоги этапа
    Разобрались как работать с переменными и использовать редактор выражений. Это последние темы перед несколькими днями обсуждения построения дашбордов. Начнем завтра с построения набросков и освоим подходы к прототипированию для экономии времени разработки. До завтра всем. Клик клик урааа!
    ~
    DATA YOGA CLUB