Saltar al contenido principal Saltar al contenido complementario

precedenteLOAD

La función LOAD precedente permite cargar una tabla en una sola pasada mientras se conserva la posibilidad de definir varias transformaciones sucesivas. Básicamente, es una sentencia LOAD que carga desde la sentencia LOAD o SELECT a continuación, sin especificar un cualificador de origen como From o Resident, tal como se usaría normalmente. Puede apilar cualquier número de sentencias LOAD de esta manera. En primer lugar se evaluará la sentencia final, luego la sentencia superior, etc., hasta que se haya evaluado la sentencia del principio.

Se puede obtener el mismo resultado con Resident, pero en la mayoría de casos una LOAD precedente será más rápida.

Otra ventaja de la load precedente es que se puede mantener un cálculo en un sitio y reutilizarlo en las sentencias LOAD situadas encima.

Nota informativaLos prefijos siguientes no se pueden utilizar junto con LOAD precedente:Join, Crosstable e Intervalmatch.

Ejemplo 1: Transformar los datos cargados por una sentencia SELECT

Si se cargan los datos de una base de datos mediante una sentencia SELECT, no se podrán usar las funciones de QlikView para interpretar los datos de esa sentencia SELECT. La solución es añadir una sentencia LOAD, en la que realizar la transformación de los datos, encima de la sentencia SELECT.

En este ejemplo se interpreta una fecha almacenada en forma de cadena mediante la función Date# de QlikView en una sentencia LOAD, con la sentencia SELECT anterior como fuente.

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

Ejemplo 2: Simplificar el script mediante la reutilización de cálculos

En este ejemplo se usa un cálculo más de una vez en el script:

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

Mediante la introducción del cálculo en una primera pasada, podemos reutilizarlo en la función Age en un LOAD precedente:

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

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.

Únase al Programa de modernización de la analítica

Remove banner from view

Modernícese sin comprometer sus valiosas aplicaciones de QlikView con el Programa de modernización de la analítica. Haga clic aquí para obtener más información o contactar con nosotros: ampquestions@qlik.com