Instruction antérieure LOAD

La fonction d'instruction LOAD antérieure vous permet de charger une table en une seule fois et de définir plusieurs transformations successives. En bref, il s'agit d'une instruction LOAD chargée à partir de l'instruction LOAD ou SELECT située en dessous, sans que vous deviez spécifier un qualificateur de source, tel que From ou Resident, habituellement requis. Vous pouvez ainsi empiler autant d'instructions LOAD que vous le souhaitez. L'instruction située au bas de la pile sera évaluée en premier, puis l'instruction au-dessus, jusqu'à l'instruction figurant en haut de la pile.

Vous pouvez parvenir au même résultat à l'aide de Resident, mais dans la plupart des cas, une instruction LOAD antérieure est plus rapide.

L'emploi d'une instruction load antérieure présente l'avantage supplémentaire de conserver un calcul à un emplacement donné et de pouvoir le réutiliser dans les instructions LOAD situées avant.

Remarque: Les préfixes suivants ne peuvent pas être utilisés avec l'instruction LOAD antérieure :Join, Crosstable et Intervalmatch.

Example 1: Transformation des données chargées par une instruction SELECT

Lorsque vous chargez les données d'une base de données à l'aide d'une instruction SELECT, vous ne pouvez pas utiliser les fonctions QlikView pour les interpréter dans cette instruction SELECT. La solution consiste à ajouter une instruction LOAD permettant d'effectuer la transformation des données, au-dessus de l'instruction SELECT.

Dans cet exemple, une date stockée sous la forme d'une chaîne à l'aide de la fonction Date# de QlikView est interprétée dans une instruction LOAD, avec l'instruction SELECT antérieure comme source.

LOAD Date#(OrderDate,’YYYYMMDD’) as OrderDate;
SQL SELECT OrderDate FROM … ;

Example 2: Simplification d'un script via la réutilisation des calculs

Dans cet exemple, un calcul est utilisé plusieurs fois dans le script :

LOAD ..., Age( FromDate + IterNo() – 1, BirthDate ) as Age, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

L'introduction du calcul dans un premier temps permet de le réutiliser dans la fonction Age, au sein d'une instruction LOAD antérieure :

LOAD ..., ReferenceDate, Age( ReferenceDate, BirthDate ) as Age; LOAD *, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;