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 generando los datos automáticamente. También se pueden cargar datos desde conexiones analíticas.
Sintaxis:
LOAD [ distinct ] fieldlist
[( from file [ format-spec ] |
from_field fieldassource [format-spec]|
inline data [ format-spec ] |
resident table-label |
autogenerate size ) |extension pluginname.functionname([script] tabledescription)]
[ where criterion | while criterion ]
[order by orderbyfieldlist ]
Argumento | Descripción |
---|---|
distinct | Puede usar distinct como un predicado si solo desea cargar registros únicos. Si hay registros duplicados, se cargará la primera instancia. Si está usando loads precedentes necesita colocar distinct en la primera sentencia load, puesto que distinct solo afecta a la tabla de destino. |
fieldlist | fieldlist ::= ( * | field{, * | field } ) Una lista de los campos que se van a cargar. Usar * como una lista de campos indica todos los 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 que es 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 delimitada. Debe ser un entero positivo precedido por "@". La numeración se hace siempre desde 1 hasta el número de campos. @startpos:endpos representa las posiciones de inicio 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 estar precedidos por "@" y separados por dos puntos. La numeración se hace siempre desde 1 hasta el número de posiciones. En el último campo, n se usa como posición final.
expression puede ser una función numérica o una función de cadena basada en uno o varios campos más de la misma tabla. Para más información, vea la sintaxis de las expresiones. |
from | from se usa si los datos se deben cargar desde un archivo usando una carpeta. Al cargar datos desde un archivo en un espacio de Analítica de Qlik Cloud, debe utilizarse una ruta válida. Vea Reglas para unas rutas válidas de las carpetas en los espacios. file ::= [ path ] filename En Analítica de Qlik Cloud, se admiten estructuras jerárquicas de carpetas y se puede hacer referencia a ellas en la sntencia. Ejemplos:
Más información y ejemplos en Cargar archivos desde espacios en Analítica de Qlik Cloud. |
from_field | from_field se usa si los datos se deben cargar desde un campo previamente cargado. fieldassource::=(tablename, fieldname) El campo es el nombre del tablename y fieldname previamente cargados. format-spec ::= ( fspec-item {, fspec-item } )La especificación de formato consiste en una lista con varios elementos de especificación entre paréntesis. Para más información, vea Elementos de especificación de formato. Nota informativafrom_field solo admite comas como delimitador de listas al separar campos en las tablas. |
inline | inline se usa si los datos se deben escribir dentro del script y no se cargan desde un archivo. 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, vea:Usar cargas inline para cargar datos |
resident | resident se usa si los datos se deben cargar desde una tabla previamente cargada. table label es una etiqueta que precede a la sentencia o sentencias LOAD o SELECT que crearon la tabla original. La etiqueta debe ir seguida de dos puntos al final de la línea. |
autogenerate | autogenerate se utiliza si los datos deben ser generados automáticamente por Qlik Sense. size ::= number Number es un número entero que indica la cantidad de registros que se generarán. La lista de campos no debe contener expresiones que requieran datos de una fuente de datos externa o una tabla previamente cargada, a menos que nos refiramos a un único valor de campo de una tabla previamente cargada con la función Peek. |
where | where es una cláusula utilizada para indicar si un registro debe incluirse en la selección o no. La selección se incluye si criterion es True. criterion es una expresión lógica |
while | while es una cláusula utilizada para indicar si un registro debe leerse repetidamente. Se lee el mismo registro siempre y cuando el criterion sea True. Para ser útil, una cláusula while debe incluir por lo general 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 deben agregarse (agruparse) los datos. Los campos de agrupació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 by | order by es una cláusula utilizada 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 solo puede utilizarse cuando al 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 es o bien asc ascendente o desc descendente. Si no se especifica sortorder, se asume asc. fieldname, path, filename y aliasname son cadenas de texto que representan lo que sus respectivos nombres implican. Cualquier campo de la tabla fuente se puede usar como fieldname. Sin embargo, los campos creados a través de la cláusula (aliasname) están fuera del alcance y no se pueden usar dentro de la misma sentencia load. |
Si no se proporciona ninguna fuente de datos por medio de una cláusula from, inline, resident, from_fieldextensión o una cláusula 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.
Cargar datos de una tabla previamente cargada
Ejemplos:
Cargar archivos desde espacios en Analítica de Qlik Cloud
En Analítica de Qlik Cloud, al cargar datos desde un archivo de datos dentro de un script de carga, puede utilizar una sentencia LOAD o insertar código QVS. En ambos casos, se puede hacer referencia a estructuras de carpetas de espacios jerárquicos en su sentencia de script. Siga las reglas especificadas para unas Rutas válidas de carpetas de espacio. Además, el archivo y todas las carpetas a las que se hace referencia deben existir ya en la ubicación especificada. De lo contrario, la recarga fallará.
Ejemplos: Referencia al archivo en la ruta de nivel superior de un espacio
Este ejemplo carga el archivo orders.csv desde un espacio personal. El archivo no se encuentra dentro de ninguna carpeta específica, sino que se encuentra en la ruta de nivel superior del espacio.
LOAD * FROM [lib://DataFiles/orders.csv];
En este ejemplo se carga el archivo orders.csv desde un espacio compartido, administradoo de datos . El nombre del espacio es TeamSharedSpace. El archivo no se encuentra dentro de ninguna carpeta específica, sino que se encuentra en la ruta de nivel superior del espacio.
LOAD * FROM [lib://TeamSharedSpace:DataFiles/orders.csv];
Ejemplos: Referencias a una ruta específica de carpeta dentro de un espacio
En este ejemplo se carga el archivo orders_Europe.csv desde la carpeta Orders By Region dentro de un espacio personal.
LOAD * FROM [lib://DataFiles/Orders By Region/orders_Europe.csv];
En este ejemplo se carga el archivo orders_Europe.csv desde la carpeta Orders By Region dentro de un espacio compartido, administrado o de datos. El nombre del espacio es SalesSpace.
LOAD * FROM [lib://SalesSpace:DataFiles/Orders By Region/orders_Europe.csv];
Para más información sobre cómo hacer referencia a la estructura de carpetas de espacio en los scripts de carga, vea Hacer referencia a la estructura de carpetas del espacio en el desarrollo de apps y scripts.