Объединение таблиц может занимать много времени. В этой статье хочу рассказать, как объединить таблицы, без потери производительности приложения. Обо всем подробно расскажу далее.
Что такое конкатенация таблиц
Понятие конкатенации используется для описания процесса объединения двух вещей. В нашем случае «вещь» означает таблицу или присоединение таблиц. Для того чтобы лучше понять этот процесс, предлагаю обратиться к примеру:
У нас есть две таблицы – продажи и население
Вот, что получится после объединения таблиц
Обратите внимание, что одна таблица разместилась под другой.
НА ЗАМЕТКУ! Пустые ячейки имеют значение NULL в QlikView.
Синтаксис скрипта
Процесс объединения таблиц теперь стал понятным, но, каким должен быть синтаксис скрипта, чтобы объединить две таблицы:
Так, QlikView поймет, какие таблицы нужно объединить между собой. Если вы хотите объединить таблицы не из списка выше, то можно просто добавить ссылку на нужную таблицу как в примере ниже:
Итак, теперь пойдем дальше, а именно узнаем, как оптимизировать процесс объединения таблиц.
Оптимизация чтения таблиц
Есть два режим объединения таблиц:
Автоматический и режим поэтапного добавления новых полей.
AutoConcatenate
Эта функция работает тогда, когда два поля имеют абсолютно одинаковое название, тогда QlikView автоматически объединяет их. Обратимся к примеру ниже.
Все таблицы содержат одинаковые столбцы A, B, C, D, E и F. Если использовать функцию Concatenate, то QlikView применит AutoConcatenate и будет создано пять таблиц:
Вот выполнение скрипта:
Итог объединения пяти таблиц примет такой вид:
Сохранение текущих полей и добавление новых
Этот метод я называю лестница QlikView. Так, для таблиц, которые имеют некоторые общие поля, будет создано объединение данных.
- Моя первая таблица имеет столбцы А и В.
- Вторая таблица должна содержать одни и те же столбцы.
- Третья таблица должна содержать все поля, что результирующая таблица (конкатенация Таблицы 1 с Таблицей 2), которые являются столбцы А, В и С (Колонка C, предоставляемые конкатенацию таблицы 2) для того, чтобы добавить столбец D,
- Четвертая таблица должна содержать все поля, что результирующая таблица (конкатенация таблицы 1 с таблицей 2 и таблица 3), которые являются столбцы A, B, C и D, чтобы иметь возможность добавить столбец Е.
- И так далее …… L.
Вот как будет выполняться скрипт:
Таблица примет вид:
Теперь перейдем к примеру. Представим случай, что нам нужно объединить таблицу 1 и таблицу 2:
- Таблица один содержит столбцы: A, B, C и D.
- Таблица два содержит столбцы: A, B, D, F и G.
Дальнейшие соображения такие: нам нужно загрузить две таблицы
Создать колонку C для второй таблицы.
Теперь нам нужно создать новый QVD для таблицы 2 с колонками A, B, C, D, F и G.
А далее нам нужно объединить таблицы один и два.
Вот как отработает скрипт в этом случае:
Скачать пример объединение таблиц в QlikView
На этом все на сегодня. Отличных вам разработок с QlikView!
Свежие комментарии