Saltar al contenido principal Saltar al contenido complementario

Load

La sentencia LOAD carga campos desde un archivo, desde datos definidos en el script, desde una tabla previamente cargada, desde una página web, desde el resultado de una sentencia SELECT posterior, o bien generando los datos automáticamente.

Sintaxis:  

LOAD [ distinct ] fieldlist

[( from file [ format-spec ] |

from_field fieldassource [format-spec]

inline data [ format-spec ] |

resident table-label |

autogenerate size )]

[ where criterion | while criterion ]

[ group_by groupbyfieldlist ]

[order_by orderbyfieldlist ]

Argumentos:  

Argumentos de Load
ArgumentoDescripción
distinct

Puede usar distinct como predicado, si solo desea cargar registros únicos. Si hay registros duplicados, se cargará la primera instancia.

Si está utilizando load precedentes, debe colocar distinct en la primera sentencia load, ya que distinct solo afecta a la tabla de destino.

fieldlistfieldlist ::= ( * | field {, field } )

Una lista de los campos que se van a cargar. El asterisco * como una lista de campos indica la totalidad de campos de la tabla.

field ::= ( fieldref | expression ) [as aliasname ]

La definición de campo debe contener siempre una referencia literal a un campo existente o a una expresión.

fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )

fieldname es un texto idéntico a un nombre de campo de la tabla. Tenga en cuenta que el nombre de campo debe ir entre comillas dobles rectas o corchetes si contiene, por ejemplo, espacios. A veces los nombres de campo no están disponibles de forma explícita. Entonces se usa una nomenclatura diferente:

@fieldnumber representa el número de campo en un archivo de tabla delimitado. Debe ser un número entero positivo precedido de "@". La numeración se hace siempre desde 1 hasta el número total de campos.

@startpos:endpos representa las posiciones inicial y final de un campo en un archivo con registros de longitud fija. Las posiciones deben ser ambas números enteros positivos. Los dos números deben ir precedidos de "@" y separados por dos puntos. La numeración se hace siempre desde 1 hasta el número total de posiciones. En el último campo se utiliza n como posición final.

  • Si @startpos:endpos va seguido inmediatamente de los caracteres I o U, los bytes leídos se interpretarán como un binario con signo (I) o un entero sin signo (U) (orden Intel de bytes). El número de posiciones leídas debe ser 1, 2 ó 4.
  • Si @startpos:endpos va inmediatamente seguido por el carácter R, los bytes leídos se interpretarán como un número real binario (punto flotante IEEE de 32 o 64 bits). El número de posiciones leídas debe ser 4 u 8.
  • Si @startpos:endpos va inmediatamente seguido por el carácter B, los bytes leídos se interpretarán como números BCD (Binary Coded Decimal) de acuerdo al estándar COMP-3. Se puede especificar un número cualquiera de bytes.

expression puede ser una función numérica o una función de cadena basada en uno o varios campos de la misma tabla. Para más información, vea la sintaxis de las expresiones.

as se utiliza para asignar un nuevo nombre al campo.

from

from se usa si se desea que los datos se carguen desde un campo.

file ::= [ path ] filename

  • Absoluta

    Ejemplo: c:\data\

  • relativo a la ruta del documento QlikView.

    Ejemplo: data\

  • Dirección URL (HTTP o FTP), que apunta a una ubicación en Internet o una intranet. La URL debe estar codificada como URL, por ejemplo, si contiene caracteres de espacio.

    Ejemplo: http://www.qlik.com

    Ejemplo: http://www.enterprise.com/project%20files (http://www.enterprise.com/project files)

Si se omite la ruta, QlikView buscará el archivo en el directorio especificado por la sentencia Directory. Si no hay sentencia Directory, QlikView buscará en el directorio de trabajo, que normalmente es el directorio donde se ubica el archivo QlikView.

Nota informativaEn una instalación de un servidor QlikView, el directorio de trabajo por defecto es C:\ProgramData\QlikTech\Documents. El directorio de trabajo por defecto puede modificarse en Consola de gestión de QlikView.

El nombre de archivo filename puede contener los caracteres comodín estándar de DOS (* y ?). Esto provocará la carga de todos los archivos en el directorio especificado.

format-spec ::= ( fspec-item { , fspec-item } )

La especificación de formato consiste en una lista de varios elementos de caracterización, entre paréntesis.

Directory

From

from_fieldfrom_field se usa si los datos se deben cargar desde un campo previamente cargado.

fieldassource::=(tablename, fieldname)

El campo es el nombre de los tablename y fieldname previamente cargados.

format-spec ::= ( fspec-item {, fspec-item } )

La especificación de formato consiste en una lista de varios elementos de caracterización, entre paréntesis.

inlineinline se utiliza si los datos deben introducirse en el script y no cargarse desde un fichero.

data ::= [ text ]

Los datos insertados mediante una cláusula inline deben ir incluidos entre caracteres específicos: corchetes, comillas o tildes invertidas. El texto en su interior se interpreta de la misma manera que el contenido de un archivo. Por lo tanto, cuando inserte una nueva línea en un archivo de texto, también debe hacerlo en el texto de una cláusula inline pulsando la tecla Intro al escribir la secuencia de script.

En una carga inline sencilla, el número de columnas viene definido por la primera línea.

format-spec ::= ( fspec-item {, fspec-item } )

Puede personalizar la carga inline con muchos de los mismos elementos de especificación de formato que están disponibles para otras tablas cargadas. Estos elementos se muestran entre paréntesis. Para más información, vea Elementos de especificación de formato.

Para más información sobre las cargas inline, consulte Cargar datos de tablas inline.

residentresident se utiliza si los datos debieran cargarse desde una tabla previamente cargada.

table label es una etiqueta que precede a la(s) sentencia(s) LOAD o SELECT, que crearon la tabla original. La etiqueta debe ir seguida de dos puntos al final de la línea.

Cuando se usa una combinación de sentencias de carga distinct y resident en QlikView 12.00 o posterior, el orden de carga de los datos es diferente de la versión QlikView 11.20. Para definir un orden de carga deseado, agregue una cláusula order by.

Cargar datos de una tabla previamente cargada

Etiquetas de Tabla

autogenerateautogenerate se utiliza si los datos deben ser generados automáticamente por QlikView.

size ::= number

Number es un entero que indica el número de registros que se han de generar. La lista de campos no debe contener expresiones que requieran datos de una base de datos. En las expresiones solo se permiten constantes y funciones sin parámetros (por ej. rand() o recno()).

extension

Puede cargar datos desde conexiones analíticas. Debe usar la cláusula extension para invocar a una función definida en el complemento de extensión del lado del servidor (SSE), o evaluar un script.

Puede enviar una única tabla al complemento SSE y se devuelve una única tabla de datos. Si el complemento no especifica los nombres de los campos que se devuelven, los campos se denominarán Field1, Field2 y así sucesivamente.

Extension pluginname.functionname( tabledescription );

  • Cargar datos usando una función en un complemento SSE

    tabledescription ::= (table { ,tablefield} )

    Si no indica los campos de la tabla, los campos se utilizarán en orden de carga.

  • Cargar datos evaluando un script en un complemento SSE

    tabledescription ::= ( script, table { ,tablefield} )

Los tipos de datos se detectan automáticamente en las conexiones analíticas. Si los datos no tienen valores numéricos y al menos una cadena de texto no NULL, el campo se considera texto. En cualquier otro caso se considera numérico.

Puede obligar a tener un tipo de datos incluyendo un nombre de campo entre los paréntesis de Cadena() o Mixto().

  • String() obliga al campo a ser de texto. Si el campo es numérico, se extrae la parte de texto del valor dual y no se realiza ninguna conversión.
  • Mixed() obliga al campo a ser dual.

String() o Mixed() no se pueden usar fuera de las definiciones de campos de tablas de extension y no se pueden usar otras funciones QlikView en una definición de campos de tablas.

Para crear una conexión analítica en QlikView Server o QlikView Desktop consulte: Conexiones analíticas

Puede leer más sobre las conexiones analíticas en el repositorio de GitHub. qlik-oss/server-side-extension

wherewhere es una cláusula que sirve para establecer si un registro debe ir incluido en la selección o no. Se incluye la selección si criterion es True.

criterion es una expresión lógica.

while

while es una cláusula que se utiliza para indicar si un registro deberá leerse repetidamente. Se lee el mismo registro siempre que el criterion sea True. Con el fin de resultar útil, una cláusula while ha de incluir la función IterNo( ).

criterion es una expresión lógica.

group_by

group by es una cláusula que sirve para definir sobre qué campos deberán agregarse (agruparse) los datos. Los campos de agregación deberán incluirse de alguna manera en las expresiones cargadas. Ningún otro campo más que los de agrupación deberá emplearse fuera de las funciones de agregación en las expresiones cargadas.

groupbyfieldlist ::= (fieldname { ,fieldname } )

order_byorder by es una cláusula que sirve para clasificar los registros de una tabla residente antes de que la sentencia load los procese. La tabla residente puede ordenarse por más de un campo en orden ascendente o descendente. La ordenación se hace principalmente por valores numéricos y secundariamente por valor de cotejo nacional. Esta cláusula sólo puede utilizarse cuando la fuente de datos es una tabla residente.

Los campos de ordenación especifican por qué campos está ordenada la tabla residente. El campo puede especificarse por su nombre o por su número en la tabla residente (el primer número de campo es el 1).

orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] }

sortorder sirve tanto para ordenación ascendente, asc, como descendente, desc. Si no se especifica sortorder alguno, se asume asc (ascendente).

fieldname, path, filename y aliasname son cadenas que representan lo que sus respectivos nombres indican. Cualquier campo de la tabla de origen puede utilizarse como fieldname. No obstante, los campos creados mediante la cláusula as (aliasname) están fuera de ámbito y no pueden utilizarse dentro de la misma sentencia load.

Si no se especifica ninguna fuente de datos mediante una cláusula from, inline, resident, from_field o autogenerate, los datos se cargarán a partir del resultado de la sentencia SELECT o LOAD inmediatamente posterior. Dicha sentencia posterior no debería llevar ningún prefijo.

precedenteLOAD

Ejemplos:  

¿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