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

Что такое конкатенация таблиц

Понятие конкатенации используется для описания процесса объединения двух вещей. В нашем случае «вещь» означает таблицу или присоединение таблиц. Для того чтобы лучше понять этот процесс, предлагаю обратиться к примеру:

У нас есть две таблицы – продажи и население

QlikView Tables Concatentation

QlikView Tables Concatentation

Вот, что получится после объединения таблиц

QlikView Tables Concatentation

Обратите внимание, что одна таблица разместилась под другой.

НА ЗАМЕТКУ! Пустые ячейки имеют значение NULL в QlikView.

Синтаксис скрипта

Процесс объединения таблиц теперь стал понятным, но, каким должен быть синтаксис скрипта, чтобы объединить две таблицы:

QlikView Tables Concatentation

Так, QlikView поймет, какие таблицы нужно объединить между собой. Если вы хотите объединить таблицы не из списка выше, то можно просто добавить ссылку на нужную таблицу как в примере ниже:

QlikView Tables Concatentation

Итак, теперь пойдем дальше, а именно узнаем, как оптимизировать процесс объединения таблиц.

Оптимизация чтения таблиц

Есть два режим объединения таблиц:

Автоматический и режим поэтапного добавления новых полей.

AutoConcatenate

Эта функция работает тогда, когда два поля имеют абсолютно одинаковое название, тогда QlikView автоматически объединяет их. Обратимся к примеру ниже.

QlikView Tables Concatentation

 

Все таблицы содержат одинаковые столбцы A, B, C, D, E и F. Если использовать функцию Concatenate, то QlikView применит AutoConcatenate и будет создано пять таблиц:

QlikView Tables Concatentation

Вот выполнение скрипта:

Exemplo03-02

Итог объединения пяти таблиц примет такой вид:

 

Exemplo03-03

Сохранение текущих полей и добавление новых

Этот метод я называю лестница QlikView. Так, для таблиц, которые имеют некоторые общие поля, будет создано объединение данных.

Exemplo04-01

  • Моя первая таблица имеет столбцы А и В.
  • Вторая таблица должна содержать одни и те же столбцы.
  • Третья таблица должна содержать все поля, что результирующая таблица (конкатенация Таблицы 1 с Таблицей 2), которые являются столбцы А, В и С (Колонка C, предоставляемые конкатенацию таблицы 2) для того, чтобы добавить столбец D,
  • Четвертая таблица должна содержать все поля, что результирующая таблица (конкатенация таблицы 1 с таблицей 2 и таблица 3), которые являются столбцы A, B, C и D, чтобы иметь возможность добавить столбец Е.
  • И так далее …… L.

Exemplo04-02

Вот как будет выполняться скрипт:

Exemplo04-03

Таблица примет вид:

Exemplo03-03

Теперь перейдем к примеру. Представим случай, что нам нужно объединить таблицу 1 и таблицу 2:

  • Таблица один содержит столбцы: A, B, C и D.
  • Таблица два содержит столбцы: A, B, D, F и G.

Дальнейшие соображения такие: нам нужно загрузить две таблицы

Exemplo05-02

Создать колонку C для второй таблицы.

Exemplo05-03

Теперь нам нужно создать новый QVD для таблицы 2 с колонками A, B, C, D, F и G.

Exemplo05-04

А далее нам нужно объединить таблицы один и два.

Exemplo05-05

Вот как отработает скрипт в этом случае:

Exemplo05-08

Скачать пример объединение таблиц в QlikView

На этом все на сегодня. Отличных вам разработок с QlikView!

 

Источник