Set Analysis (Анализ множеств) в QlikView

ЗАЧЕМ ИСПОЛЬЗОВАТЬ SETANALYSIS

Анализ множеств (Set Analysis) позволяет создать выбор, отличный от активного, в используемой в таблице или графике. Созданная группа позволяют сравнить агрегирование этой группы и группы из текущего выбора.
Эти агрегаты позволяют сравнить, например, продажи текущего месяца и месяца в предыдущем году.
Анализ множеств (Set Analysis) изменяет контекст только для выражения, которое использует его. Другое выражение без какого-либо выбора получит контекст по умолчанию, стандартный выбор или группу альтернативного состояния.

Множества могут использоваться в функциях агрегирования.Функции агрегирования как правило агрегируют множества возможных записей, определенных текущей выборкой. Однако выражением множества может быть определено альтернативное множество записей. Поэтому множество имеет принципиальное сходство с выборкой. В случае использования выражение множества всегда начинается и заканчивается фигурными скобками, например {BM01}.

Анализ множеств применим, как в QlikView, так и в Qlik Sense.

Таблица с кнопками выбора значений из разного диапазона в QlikView (Qlik Sense)

Из данной статьи Вы узнаете, как можно в QlikView (Qlik Sense) управлять выдаваемыми таблицей значениями.

471

Операции с файлами через QlikView

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

ЗАГРУЗКА ИМЁН ПАПОК И ФАЙЛОВ

Для получения имён папок в QlikView есть специальная функция DirList(), для файлов используется аналогичная FileList().

Загрузить список папок в корне диска C:

Способы моделирования данных

В настоящем разделе описывается ряд различных способов загрузки данных в документ QlikView (либо Qlik Sense) в зависимости от структурирования данных и требуемой модели данных.

В целом способ загрузки данных в документ можно объяснить с помощью процессов извлечения, преобразования и загрузки (ETL — Extract, Transform, Load):

Использование файлов QVD для инкрементальной загрузки

Инкрементальная загрузка является распространенной задачей в отношении баз данных. Она определяется тем, что загружает из базы данных только новые или измененные записи. Все прочие данные так или иначе должны уже быть доступны. С помощью QVD-файлов QlikView (Qlik Sense) в большинстве случаев можно выполнить инкрементальную загрузку.

Основной процесс приведен ниже:

1. Загрузите новые данные из таблицы базы данных (процесс происходит медленно, но загружается ограниченное число записей).

2. Загрузите старые данные из файла QVD (загружается много записей, но процесс происходит значительно быстрее).

Объединение таблиц с помощью операторов Join и Keep

Объединение — операция объединения двух таблиц в одну. Записи результирующей таблицы представляют собой комбинации записей в исходных таблицах. При этом две такие записи, составляющие одну комбинацию в результирующей таблице, как правило, имеют общее значение одного или нескольких общих полей. Такое объединение называется естественным. В программе QlikView (Qlik Sense) объединение может выполняться в скрипте, создавая логическую таблицу.

Использование сопоставления как альтернативы соединению

Префикс Join в программе QlikView (Qlik Sense) является мощным инструментом для объединения нескольких таблиц данных в модель данных. Единственным недостатком является то, что объединенные таблицы могут оказаться большими, из-за чего могут возникнуть проблемы при выполнении. Альтернативой соединению Join в ситуациях, когда необходимо найти одиночное значение в другой таблице, является сопоставление. В этом случае не будут загружены ненужные данные, которые могли бы замедлить вычисления и создать ошибки при вычислениях, поскольку при соединении может измениться число записей в таблицах.

Таблица сопоставления состоит из двух столбцов: поле сравнения (входные данные) и поле со значением сопоставления (выходные данные).

Оптимизация производительности приложений

ВВЕДЕНИЕ

Поскольку приложения QlikView (как и Qlik Sense) имеют малый и средний размер, обычно можно не беспокоиться о производительности при разработке приложений. По мере увеличения объема данных ограничения по времени и памяти при неправильной структуре приложения могут стать очень очевидными. Часто некоторые простые изменения структуры позволяют существенно повысить производительность. В этом приложении описано несколько подводных камней и рассказано, как их можно избежать.

Общую производительность можно повысить путем переноса «проблемы» из объектов приложений в базу данных, управляемую скриптом. Часто это позволяет спасти ситуацию. Время отклика улучшается, а специальные функции сокращаются. Следующие рекомендации не следует рассматривать как универсально полезные. Их следует использовать. когда они позволяют улучшить состояние приложение или обеспечивают небольшую решающую разницу.

Сопоставление интервалов с дискретными данными

Префикс intervalmatch для операторов LOAD или SELECT используется для связывания дискретных числовых значений с одним или несколькими числовыми интервалами. Это очень полезная функция, которая может использоваться, например, в производственных средах, как показано в примере ниже.

Пример:

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

Создание интервала дат из одиночной даты

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

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

551

Эта таблица определяет набор неперекрывающихся интервалов, где дата начала называется «Change Date», а дата конца определяется началом следующего интервала. Но поскольку дата конца хранится в своем столбце неявно, необходимо создать такой столбец, чтобы новая таблица стала списком интервалов.

58 queries in 0,572 seconds