Загрузка данных из ранее загруженной таблицы

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

Example:  

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

PreBudget: Crosstable (Month, Amount, 1) LOAD Account, Jan, Feb, Mar, … From Budget; Budget: Noconcatenate LOAD Account, Month(Date#(Month,’MMM’)) as Month, Amount Resident PreBudget; Drop Table PreBudget;
Подсказка: Часто элемент Resident используется, при необходимости временной таблицы для выполнения вычислений или фильтра. Если временная таблица больше не нужна, избавьтесь от нее с помощью оператора Drop table.

Элемент Resident или предшествующий элемент LOAD?

В большинстве случаев аналогичный результат удается получить при помощи предшествующего элемента LOAD, т. е. оператора LOAD, служащего для загрузки из операторов LOAD или SELECT ниже без указания классификатора источника (например, From или Resident), как это предусматривает стандартная процедура. Как правило, использование предшествующего элемента LOAD позволяет быстрее получить результат, однако в некоторых случаях следует использовать ResidentLOAD:

  • В случае необходимости использования утверждения Order_by для сортировки записей перед обработкой оператора LOAD.
  • В случае необходимости использования одного из следующих префиксов. В этом случае предшествующий элемент LOAD не поддерживается:
    • Crosstable
    • Join
    • Intervalmatch

See also: