Продвинутый разработчик Qlik.
Продолжительность 4 дня, 32 академических часа.
Минимальные требования к участникам:
Пройденная полная программа обучения для начинающих - либо для QlikView, либо для Qlik Sense плюс минимум 6 месяцев опыта разработки рекомендуется.
Для кого этот мастер-класс:
Опытные разработчики Qlik, которые освоили учебную программу для начинающих, имеют некоторый опыт разработки приложений Qlik и хотят изучить более продвинутые методы, особенно в областях моделирования данных, написания скрипта, анализа множеств, агрегирования и производительности.
Автор курса:
Олег Троянский – гуру мирового Qlik-сообщества, давний клиент и партнёр Qlik, консультант и преподаватель. Олег признан MVP (Еру Most Valuable Person) сообщества Qlik и Qlik Luminary. Автор бестселлера «QLIK YOUR BUSINESS».
Наш преподаватель:
Александра Б. - имеет большой опыт преподавания курсов по разработке QlikView и Qlik Sense и прошла сертификацию от Олега Троянского, что гарантирует высокое качество преподавания.
Подробная программа курса
Модуль 1: Моделирование данных
Понимание основ Qlik Data Modeling - это наиболее важный навык, необходимый для разработки высокопроизводительных масштабируемых приложений Qlik, которые могут анализировать действительно большие объемы данных. Разработчики Qlik, не обладающие этими знаниями, могут разрабатывать неуклюжие и неоптимизированные, медленно работающие приложения даже после нескольких лет работы с инструментами Qlik.
- Как Qlik хранит внутренние данные. В этом разделе учащиеся узнают о наиболее важной и часто неправильно понимаемой концепции внутреннего хранения данных в Qlik. Имея это понимание под рукой, вы будете готовы освоить более продвинутые методы моделирования данных
- Нормализовать или денормализовать? Этот вопрос часто возникает в классах Data Modeling, и большинство учеников не знают на него ответа. В нашем классе мы определим практические правила, основанные на знаниях - когда нормализовать и когда денормализовать
- Методы моделирования данных - Mapping, Joining, Concatenation Большинство опытных разработчиков уже знают эти методы, однако очень немногие знают о хитром и часто опасном поведении некоторых из них. Мы рассмотрим эти методы, чтобы выровнять знания у всех и рассмотреть некоторые неожиданные проблемы, связанные с этими методами.
- Объединение нескольких таблиц фактов в одной модели данных На сегодняшний день это самая сложная проблема моделирования данных, с которой сталкивается большинство разработчиков. Многочисленные факты в одной модели данных вызывают различные проблемы, в том числе синтетические ключи и циклические ссылки, и решения не всегда очевидны. Мы изучим два часто используемых подхода - таблицы связей (Link Tables) и объединенные факты (Concatenated Facts), а также сравним преимущества и недостатки каждого решения.
- Link Tables является первым из двух решений. Мы рассмотрим методологию и затем построим рабочую модель данных Link Tables. Мы изучим процесс шаг за шагом, проанализируем любые непредвиденные проблемы, которые могут возникнуть, и изучим методы их преодоления.
- Concatenated Facts Concatenated Facts - это второе широко используемое решение для объединения нескольких таблиц фактов в одну модель данных. Хотя это выглядит довольно просто с первого взгляда, в действительности этот метод скрывает многие потенциальные проблемы, которые разработчики должны предвидеть и знать, как их решить. В классе мы рассмотрим этот метод и ожидаемые проблемы, а также создадим работающую модель объединенных фактов.
- As of Date tables Это продвинутый метод управления Календарем таким образом, который позволяет создавать анализы «по состоянию» на определенную дату в прошлом. Помимо создания отчета «Текущий год к дате», нам, к примеру, часто необходимо создавать отчет по состоянию на 1 апреля и сравнивать его с данными на 1 июня. Этот расширенный анализ становится возможным с использованием таблицы «As of Date».
Модуль 2: Advanced Scripting
Отличные навыки написания скриптов - это то, что отличает профессионалов от любителей. Лучшие разработчики Qlik используют передовые методы написания скриптов для упорядочения своих скриптов и облегчения их чтения, обслуживания и понимания.
- Переменные Большинство разработчиков знают и используют переменные в своей работе, но некоторые аспекты, связанные с переменными, все еще вызывают путаницу даже у опытных специалистов. Мы подробно рассмотрим, как эффективно использовать переменные в скрипте, чтобы создавать лучше организованные скрипты.
- Управление скриптами (циклы, условия и т. д.) Операторы управления скриптами, такие как циклы и операторы IF, часто игнорируются разработчиками, поскольку они нужны только для создания сложных скриптов. Мы изучим эти методы и рассмотрим, как их можно использовать для упрощения работы разработчиков.
- Подпрограммы и многоразовые библиотеки. Использование подпрограмм и библиотек многократного использования может помочь разработчикам, особенно в крупных организациях, повторно использовать скрипты в нескольких приложениях и создать сегменты многократно используемой логики, которые могут сэкономить много времени, денег и усилий в долгосрочной перспективе.
- CROSSTABLE загрузка и преобразование данных из электронных таблиц Эти хорошо известные методы QlikView часто игнорируются разработчиками QlikView, и они недоступны в Qlik Sense. Разработчикам Qlik Sense будет полезно изучить эти методы QlikView и, возможно, реализовать те же методы в Qlik Sense.
- Interval Match позволяет связать отдельные числа с диапазонами чисел с границами «от» и «до». Эта продвинутая техника остается запутанной для многих разработчиков
- Хранение выражений в переменных и загрузка их в скрипт. Этот продвинутый метод написания скриптов используется многими профессионалами, и он предлагает множество преимуществ, особенно для крупных компаний, - улучшенное повторное использование выражений, более простое обслуживание, контроль исходного кода и многие другие преимущества. В классе мы изучим полный цикл - как экспортировать формулы в переменные, затем как экспортировать переменные во внешние текстовые файлы, а затем, как загрузить эти текстовые файлы обратно и сгенерировать переменные в скрипте.
- Разработка многоуровневого процесса сбора данных. Все крупные реализации Qlik сталкиваются с похожими проблемами - загрузка базы данных слишком медленная; одну и ту же бизнес-логику необходимо повторить в нескольких приложениях, что может создать несколько «версий истины». Многоуровневый процесс сбора данных является рекомендуемым решением для крупномасштабных реализаций с большими объемами данных и многими приложениями Qlik. Мы рассмотрим подход и конкретные методы его реализации.
Настоящий профессионализм проверяется, когда разработчику требуется создать высокопроизводительное приложение и проанализировать сотни миллионов записей с приемлемым временем отклика. Большинство разработчиков сталкиваются с проблемами производительности, потому что эти проблемы не очень хорошо поняты и недостаточно освещены в доступных учебных материалах Qlik. Мы рассмотрим:
- Общие подводные камни производительности:
- Какие функции слишком медленные для больших наборов данных и почему?
- Каково влияние островов данных?
- Какие лучшие альтернативы медленным функциям мы можем использовать?
- Распространенные подводные камни производительности в моделях данных
- Какие структуры данных работают лучше, чем другие?
- Сравнение производительности таблиц ссылок и объединённых фактов
- Влияние нормализации и денормализации на производительность
- Влияние полей с большим количеством элементов на производительность и способы ее улучшения
- Производительность загрузки данных
- Что приводит к снижению производительности загрузки данных
- Что можно сделать, чтобы ускорить процесс
- Инструменты оптимизации производительности
- Обзор доступных инструментов оптимизации производительности
- Как использовать Document Analyzer в QlikView и Qlik Sense для настройки производительности.
Модуль 3: Продвинутые выражения
Как правило, Qlik ценит простоту в аналитических решениях. Простые решения чрезвычайно легко понять и они могут быть созданы в течение нескольких минут, даже неопытным пользователем. Однако сложные проблемы требуют сложных решений, которые, в свою очередь, требуют передовых аналитических методов, которые люди осваивают в течение месяцев и лет. Два продвинутых метода обычно вызывают много путаницы и недоразумений - функция агрегирования AGGR () и анализ множеств (Set Analysis), которые предоставляют возможность изменять набор агрегированных данных для каждой функции агрегирования. Большинство разработчиков путаются по поводу этих методов даже после многих лет работы с инструментами. Это подробное практическое занятие демонстрирует самые передовые аналитические решения с использованием AGGR () и анализа множеств:
Агрегирование (AGGR)
Используя агрегирование, разработчики могут изменять уровень агрегации для конкретного расчета - например, вычисляя разницу между продажами и прогнозом на уровне позиции, прежде чем агрегировать ее до уровня компании. Эта функция является одной из наименее понятных и наиболее запутанных для многих разработчиков. Это не преподается подробно ни в одном из существующих учебных классов Qlik
- Общее использование AGGR()
- Когда мы используем Advanced Aggregation и для каких целей?
- Введение в Bucket Analysis и создания гистограмм
- Сравнение AGGR () с использованием спецификатора TOTAL
- 3 закона AGGR()
- Для безопасного использования AGGR () необходимо соблюдать эти 3 правила Немногие разработчики знакомы со всеми 3 правилами, что вызывает большую путаницу вокруг AGGR().
- Подсчет цветов или агрегация условных вычислений
- Расширенное аналитическое использование AGGR()
- Расширенный поиск - поиск лучших исполнителей несколькими способами
- Агрегированные фильтры
- Последние добавления в синтаксис AGGR():
- Сортировка данных в AGGR()
- Сортировка по выражению
С помощью Set Analysis разработчики могут изменять набор данных, которые должны быть объединены в определенном расчете. Большинство разработчиков осваивают и используют основы анализа множеств, однако передовые методы анализа множеств, такие как расширенный поиск или использование функций P () и E (), по-прежнему сбивают с толку многих разработчиков. Это самый полный и самый продвинутый класс по анализу множеств из всех доступных образовательных источников.
- Базовый синтаксис Set Analysis - обзор для менее продвинутых разработчиков
- Использование булевых операторов в анализе множеств
- Использование расширений $ -sign в анализе множеств
- Простой и расширенный поиск и в чем разница
- Использование дат в анализе множеств
- Использование функций P() и E()
- Set Analysis и AGGR () работают вместе
- Расширенное аналитическое использование Set Analysis и AGGR()
- Ограничение размеров измерения до N без использования лимита
- Восстановление недостающих ссылок в объединенных фактах
- Использование AGGR () с синтетическими измерениями
- Использование Set Analysis для сравнения по времени
- Использование функции Above () и ее улучшение с помощью AGGR()
- Расчет Парето с использованием AGGR () и анализа множеств
Альтернативные состояния
Альтернативные состояния существовали в QlikView начиная с версии 11.2, и они недавно были введены в Qlik Sense. С помощью альтернативных состояний разработчики могут сравнивать несколько наборов вариантов выбора друг с другом, что позволяет пользователям выбирать различные значения в одних и тех же полях базы данных для целей сравнительного анализа.
- Что такое альтернативные состояния и как их можно использовать?
- Альтернативные состояния и анализ множеств
- Альтернативные состояния и действия / переменные
- Творческое использование альтернативных состояний
Заключение
С приобретенными навыками ваши разработчики будут разрабатывать лучшие высокопроизводительные приложения, делать их быстрее, надежнее и полезнее для вашего бизнеса.