Мне часто приходится тестировать новые приложения на стороне клиента или работать с новой экстракцией данных. Для этого удобно пользоваться решением Data Profiler, разработанным Стивом Дарком (Steve Dark). Очевидно, что при получении новых данных, вы захотите посмотреть, а что за данные вам дали. Для этого можно использовать некоторые готовые объекты QlikView, которые можно откопировать и вставить в любой документ QlikView. Обо всем это поговорим далее.

Системные таблицы

Есть несколько системных таблиц во всех документах QlikView, которые позволяют увидеть встроенную модель данных. Для этого надо настроить видимость системных полей. Это настройка находится тут: Sheet Properties -> Fields. После активации этой настройки, вам станут доступны новые поля, с префиксом доллара (в примере, который мы рассматриваем, таких поля два – $Field и $Table).

НА ЗАМЕТКУ! Поля с префиксом Hide также можно сделать видимыми при помощи этой настройки.

ВНИМАНИЕ! Работайте с системными полями крайне аккуратно, чтобы не нарушить целостность модели данных.

Выбор одного поля

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

List of fields in the data model

Чтобы просмотреть все возможные значения в списке $Field, воспользуемся анализом множеств:

=minstring($Field)

Это выражение используется в заголовке листбокса, которое показывает каждое отдельное значение в выбранном поле. Сам листбокс использует выражение как источник данных, а не как отдельное поле, то есть это выражение похоже на вычислимое измерение в диаграмме. Строка кода для правильной работы списка выглядит следующим образом: =[$(=minstring($Field))]

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

QlikView List Box

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

Статистика

Итак, теперь мы хотим получить дополнительную информацию о полях. Представим данные по полям в виде гистограммы по частоте использования данного поля во всем документе:

Frequency of values in the field

Сделано это при помощи специального счетчика значений с Count и тем же измерением, что и в листбоксе:

Дальнейшие размышления

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

Field Statistics Box

Выражения у нас имеют простой вид – с названием поля со знаком доллара. Например, максимальная длина рассчитывается при помощи такого выражения:

=max(len([$(=minstring($Field))]))

Скачать QlikView Data Profiler

Скачать утилиту Стива Дарка, QlikView Data Profiler, вы можете по ссылке.

НА ЗАМЕТКУ!

В оригинальный файл внесены некоторые изменения. Опишу их здесь.

Первое из них – добавление в скрипт загрузки строк, которые показывают число записей и загруженных строк:

Также добавлена новая вкладка под названием Table, где упомянуты не поля документа, а 20 выражений. Первое выражение в списке имеет вид:

Это выражение сопоставлено с именем поля, связанным с полем #1. Затем было добавлено второе выражение:

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

Для ярлыка используется такое выражение:

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

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

Также, чтобы не загружать приложение, было наложено такое ограничение: =if(count(zrecno) < 200000,1,0), если в приложении более 200 000 строк, то график не будет строиться.

На этом все на сегодня. Хороших вам разработок!