Объединение | Qlik Cloud Справка
Перейти к основному содержимому Перейти к дополнительному содержимому

Объединение

Последнее обновление: 09.10.2026

Объединение — операция объединения двух таблиц в одну.

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

Автоматическое объединение

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

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

  1. Откройте редактор загрузки данных в Scripting Tutorial приложении.
  2. Щелкните вкладку Date.
  3. Щелкните команду Загрузить данные.
  4. На основе того, что на данный момент содержит написанный вами Скрипт загрузки, приложение загружает 628 строк из файла данных Dates.xlsx в Table2.

    Окно хода выполнения загрузки данных

    Окно хода выполнения загрузки данных
  5. На новой строке скрипта в разделе Dates скопируйте и вставьте оператор LOAD для Table2. В результате этого данные будут загружены дважды. Присвойте имя второй таблице Table2a.
  6. Можно было бы также удалить существующий скрипт, а затем скопировать и вставить следующее:

    Table2:
    					LOAD
    					"Date",
    					Month (Date) as "Month",
    					Quarter,
    					"Week",
    					"Year"
    					FROM [lib://DataFiles/Dates.xlsx]
    					(ooxml, embedded labels, table is Dates);
    
    					Table2a:
    					LOAD
    					"Date",
    					Month (Date) as "Month",
    					Quarter,
    					"Week",
    					"Year"
    					FROM [lib://DataFiles/Dates.xlsx]
    				(ooxml, embedded labels, table is Dates);

    Скрипт должен выглядеть следующим образом:

    Скрипт загрузки на вкладке Dates

    Скрипт загрузки на вкладке Dates.
  7. Щелкните команду Загрузить данные.
  8. Приложение не загружает Table2, а затем Table2a. Вместо этого она распознает, что Table2a имеет те же имена и количество полей, что и Table2. Затем она добавляет данные Table2a в Table2 и удаляет таблицу Table2a. В результате в таблице Table2 теперь содержится 1 256 строк.

    Окно хода выполнения объединения при загрузке данных

    Окно хода выполнения объединения при загрузке данных.
  9. Откройте раздел Просмотр модели данных.
  10. Щелкните Показать предварительный просмотр.
  11. Была создана только таблица Table2. Выберите Table2. В этой таблице имеется 1256 строк.

    Просмотр модели данных, отображающий Table2

    Просмотр модели данных, отображающий таблицу Table2.

Принудительное объединение

Даже если две или более таблицы не имеют точно такого же набора полей, все равно можно принудительно заставить приложение объединить эти две таблицы. Это выполняется с помощью префикса Concatenate в скрипте, который объединяет таблицу с другой указанной таблицей или с самой последней созданной таблицей.

  1. Измените оператор LOAD для таблицы Table2a, добавив префикс Concatenate и снабдив комментарием поле Week.
  2. Код скрипта должен выглядеть теперь так:

    Table2a:
    					Concatenate LOAD
    					"Date",
    					Month (Date) as "Month",
    					Quarter,
    					// "Week",
    					"Year"
    					FROM [lib://DataFiles/Dates.xlsx]
    				(ooxml, embedded labels, table is Dates);

    Добавив комментарий полю Week, мы можем быть уверены, что таблицы не одинаковы.

  3. Щелкните команду Загрузить данные.
  4. Откройте раздел Просмотр модели данных.
  5. Теперь вы видите, что таблица Table2a не создана.

  6. Щелкните Table2 в просмотре модели данных, а затем щелкните команду Предварительный просмотр.
  7. В данной таблице имеются поля Date, Month, Quarter, Week и Year. Поле Week все еще отображается, поскольку оно было загружено из таблицы Table2.

  8. Щелкните поле Week в таблице Table2. В предварительном просмотре показывается, что количество ненулевых значений для данного поля равно 628. Однако если щелкнуть любое другое поле, то будет видно, что количество ненулевых значений равняется 1256. Поле Week было загружено из таблицы Table2 только один раз. Количество значений, или записей, представляет собой сумму числа записей в таблицах Table2 и Table2a.

Предотвращение объединения

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

  1. Чтобы полностью разделить содержимое двух таблиц, добавьте NoConcatenate в оператор LOAD в Table2a и переименуйте поля, чтобы приложение не создавало синтетический ключ на основе совпадающих полей. Удалите комментарий для Week в таблице Table2, чтобы две таблицы имели одинаковые поля.
  2. Код скрипта должен выглядеть теперь так:

    Table2:
    					LOAD
    					"Date",
    					Month (Date) as "Month",
    					Quarter,
    					"Week",
    					"Year"
    					FROM [lib://DataFiles/Dates.xlsx]
    					(ooxml, embedded labels, table is Dates);
    
    					Table2a:
    					NoConcatenate LOAD
    					"Date" as "Date2",
    					Month (Date) as "Month2",
    					Quarter as "Quarter2",
    					"Week" as "Week2",
    					"Year" as "Year2"
    					FROM [lib://DataFiles/Dates.xlsx]
    				(ooxml, embedded labels, table is Dates);			

  3. Щелкните команду Загрузить данные.
  4. Откройте раздел Просмотр модели данных.
  5. Теперь две таблицы полностью разделены.

    Просмотр модели данных, отображающий таблицы Table2 и Table 2a

    Просмотр модели данных, отображающий таблицы Table2 и Table 2a.
  6. Теперь по завершении демонстрации объединения таблица Table2a нам больше не нужна. Удалите все строки в операторе LOAD для таблицы Table2a, а затем щелкните Загрузить данные.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!