# 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.

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 ]

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[ group by groupbyfieldlist ]

[order by orderbyfieldlist ]

Argumentos

| Argumento | Descripción |
| --- | --- |
| distinct[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm) | Puede usar distinct como un predicado si solo desea cargar registros únicos. Si hay registros duplicados, se cargará la primera instancia.<br><br>Si está usando loads precedentes necesita colocar distinct en la primera sentencia load, puesto que distinct solo afecta a la tabla de destino.<br><br>[Load precedente](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm#Precedin) |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)fieldlist | fieldlist ::= ( \* \| field{, \* \| field } )<br><br>Una lista de los campos que se van a cargar. Usar \* como una lista de campos indica todos los campos de la tabla.<br><br>field ::= ( fieldref \| expression ) [as aliasname ]<br><br>La definición de campo debe contener siempre una referencia literal a un campo existente, o a una expresión.<br><br>fieldref ::= ( fieldname \|@fieldnumber<br>\|@startpos:endpos<br>[ I \| U \| R \| B \| T] )<br><br>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.<br>A veces los nombres de campo no están disponibles de forma explícita. Entonces se usa una nomenclatura diferente:<br><br><br>@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.<br><br><br>@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.<br><br><ul> <li>Si <span>@<span>startpos</span>:<span>endpos</span></span> va seguido inmediatamente por los caracteres <span>I</span> o <span>U</span>, los bytes leídos se interpretarán como un binario firmado (<span>I</span>) o un entero no firmado (<span>U</span>) (orden de bytes de Intel). El número de posiciones leídas debe ser 1, 2 ó 4. </li> <li>Si <span>@<span>startpos</span>:<span>endpos</span></span> va inmediatamente seguido por el carácter <span>R</span>, los bytes leídos se interpretarán como un número real binario (IEEE de 32 bits o coma flotante de 64 bits). El número de las posiciones leídas debe ser 4 u 8. </li> <li>Si <span>@<span>startpos</span>:<span>endpos</span></span> va inmediatamente seguido por el carácter <span>B</span>, los bytes leídos se interpretarán como números <span>BCD (Binary Coded Decimal)</span> según el estándar COMP-3.  Se puede especificar cualquier número de bytes. </li> </ul><br><br>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.<br><br>[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)as se usa para asignar un nuevo nombre al campo. |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>from | from se usa si los datos deben cargarse desde un archivo usando una carpeta o una conexión de datos de archivos web.<br><br>file ::= [ path ] filename<br><br>Ejemplo: 'lib://Table Files/'<br><br>Si la ruta se omite, Qlik Sense busca el archivo en el directorio especificado por la sentencia Directory. Si no hay sentencia Directory, Qlik Sense busca en el directorio de trabajo, C:\Users\{user}\Documents\Qlik\Sense\Apps.<br><br>[Directory](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Directory.htm)<br><br>Nota informativaEn una instalación de servidor de Qlik Sense, el directorio de trabajo se especifica en Qlik Sense Repository Service, por defecto es C:\ProgramData\Qlik\Sense\Apps. Consulte la ayuda de Consola de gestión de Qlik para obtener más información.<br><br>El filename puede contener los DOS caracteres comodín estándar ( \* y ? ). Esto provocará la carga de todos los archivos en el directorio especificado.<br><br>format-spec ::= ( fspec-item { , fspec-item<br>} )<br><br>La especificación de formato consiste en una lista de varios elementos de caracterización, entre paréntesis.<br><br>[Elementos de especificación de formato](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptSpecifiers/format-specification-items.htm)<br><br>Nota de sugerenciaPuede usar la especificación de formato [URL is](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptSpecifiers/url.htm) para anular la URL de una conexión de datos de archivos web, por ejemplo, si necesita crear una URL dinámica basada en otros datos que se cargaron.<br><br>Modo de script de legado<br><br>En el modo de elaboración de scripts de legado, se admiten también los diguientes formatos de ruta:<br><br><ul> <li> <p> Absoluta </p> <p><span><span>Ejemplo: </span></span><span>c:\data\</span> </p> </li> <li> <p>relativo al directorio de trabajo de la aplicación de <span>Qlik Sense</span></p> <p><span><span>Ejemplo: </span></span><span>data\</span> </p> </li> <li> <p>Dirección URL (<span>HTTP</span> o <span>FTP</span>), que apunta a una ubicación en Internet o una intranet. </p> <p><span><span>Ejemplo: </span></span><span>http://www.qlik.com</span> </p> </li> </ul> |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>from\_field | from\_field se usa si los datos se deben cargar desde un campo previamente cargado.<br><br>fieldassource::=(tablename, fieldname)<br><br>El campo es el nombre del tablename y fieldname previamente cargados.<br><br>format-spec ::= ( fspec-item<br>{, fspec-item } )<br><br>La especificación de formato consiste en una lista de varios elementos de caracterización, entre paréntesis. Para más información, vea [Elementos de especificación de formato](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptSpecifiers/format-specification-items.htm).<br><br>Nota informativafrom\_field solo admite comas como delimitador de listas al separar campos en las tablas. |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>inline | inline se usa si los datos se deben escribir dentro del script y no se cargan desde un archivo.<br><br>data ::= [ text ]<br><br>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.<br><br>En una carga inline sencilla, el número de columnas viene definido por la primera línea.<br><br>format-spec ::= ( fspec-item<br>{, fspec-item } )<br><br>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](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptSpecifiers/format-specification-items.htm).<br><br>Para más información sobre las cargas inline, consulte [Uso de cargas inline para cargar datos](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm). |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>resident | resident se usa si los datos se deben cargar desde una tabla previamente cargada.<br><br>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.<br><br>[Cargar datos de una tabla previamente cargada](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)<br><br>[Etiquetas de tabla](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/table-labels.htm) |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>autogenerate | autogenerate se utiliza si los datos deben ser generados automáticamente por Qlik Sense.<br><br>size ::= number<br><br>Number es un número entero que indica la cantidad de registros que se generarán.<br><br>La lista de campos no deberá 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. |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)extension | Puede cargar datos desde conexiones analíticas. Necesita usar la cláusula extension para llamar a una función definida en el complemento plugin (SSE) de extensión del lado del servidor o evaluar un script.<br><br>Puede enviar una única tabla al complemento SSE y devuelve una sola tabla de datos. Si el complemento plugin no especifica los nombres de los campos que se devuelven, los campos se denominarán Field1, Field2 y así sucesivamente.<br><br>Extension pluginname.functionname( tabledescription );<br><br><ul> <li> <p>Cargar datos utilizando una función en un complemento plugin SSE </p> <p><span>tabledescription ::= (table { ,tablefield} )</span> </p> <p>Si no indica campos de tabla, los campos se usarán en orden de carga.</p> </li> <li> <p>Cargar los datos evaluando un script en un complemento plugin SSE</p> <p><span>tabledescription ::= ( script, table { ,tablefield} )</span> </p> </li> </ul><br><br>Manejo del tipo de datos en la definición del campo de la tabla<br><br>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 nula, el campo se considera texto. En cualquier otro caso, se considera numérico.<br><br>Puede forzar el tipo de datos encerrando un nombre de campo en Cadena() o Mixto().<br><br><ul> <li><span>Cadena()</span> obliga al campo a ser de texto. Si el campo es numérico, se extrae la parte de texto del valor dual, no se realiza ninguna conversión.</li> <li><span>Mixto()</span> obliga al campo a ser dual.</li> </ul><br><br>Cadena() o Mixto() no se pueden usar fuera de las definiciones de campo de la tabla de extensión y no puede usar otras funciones Qlik Sense en una definición de campo de tabla.<br><br>Más sobre las conexiones analíticas<br><br>Debe configurar las conexiones analíticas antes de poder usarlas.<br><br>Qlik Sense Enterprise: [Crear una conexión analítica](https://help.qlik.com/en-US/sense-admin/May2026/Subsystems/DeployAdministerQSE/Content/Sense_DeployAdminister/QSEoW/Administer_QSEoW/Managing_QSEoW/create-analytic-connection.htm) (solo en inglés)<br><br>Qlik Sense Desktop: [Configurar conexiones analíticas en Qlik Sense Desktop](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Introduction/configure-analytic-connection-desktop.htm)<br><br>Puede leer más sobre las conexiones analíticas en el repositorio de GitHub. [qlik-oss/server-side-extension](https://github.com/qlik-oss/server-side-extension) |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>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.<br><br>criterion es una expresión lógica |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>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( ).<br><br>criterion es una expresión lógica |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>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.<br><br>groupbyfieldlist ::= (fieldname { ,fieldname } ) |
| [](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)<br>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.<br><br>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).<br><br>orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] }<br><br>sortorder es o bien asc ascendente o desc descendente. Si no se especifica sortorder, se asume asc.<br><br>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](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Cargar diferentes formatos de archivo

Cargue un archivo de datos delimitados con las opciones predefinidas:

`LOAD * from data1.csv;
`

Cargar un archivo de datos delimitado desde una conexión de biblioteca (DataFiles):

`LOAD * from 'lib://DataFiles/data1.csv';
`

Cargar todos los archivos de datos delimitados desde una conexión de biblioteca (DataFiles):

`LOAD * from 'lib://DataFiles/*.csv';
`

Cargue un archivo delimitado, especificando la coma como delimitador y con etiquetas incrustadas:

`LOAD * from 'c:\userfiles\data1.csv' (ansi, 
 txt, delimiter is ',', embedded labels);
`

Cargue un archivo delimitado, especificando el tabulador como delimitador y con etiquetas incrustadas:

`LOAD * from 'c:\userfiles\data2.txt' (ansi, 
 txt, delimiter is '\t', embedded labels);`

Cargar un archivo dif con encabezados integrados:

`LOAD * from file2.dif (ansi, dif, embedded 
 labels);`

Cargue tres campos desde un archivo de registro de longitud fija sin cabeceras:

`LOAD @1:2 as ID, @3:25 as Name, @57:80 as City 
 from data4.fix (ansi, fix, no labels, header is 0, record is 80);
`

Cargar un archivo QVX, especificando una ruta absoluta:

`LOAD * from C:\qdssamples\xyz.qvx (qvx);`

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Cargar archivos web

Cargar desde la URL predeterminada configurada en la conexión de datos del archivo web:

`LOAD * from [lib://MyWebFile];
				`

Cargar desde una URL específica e ignorar la URL configurada en la conexión de datos del archivo web:

`LOAD * from [lib://MyWebFile] (URL is 'http://localhost:8000/foo.bar');
				`

Cargar desde una URL específica configurada en una variable usando la expansión de signo de dólar:

`SET dynamicURL = 'http://localhost/foo.bar';` `LOAD * from [lib://MyWebFile] (URL is '$(dynamicURL)');`

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Seleccionar ciertos campos, renombrar y calcular campos

Cargue solo tres campos específicos desde un archivo delimitado:

`LOAD FirstName, LastName, Number from data1.csv;
				`

Renombrar el primer campo como A y el segundo campo como B cuando se carga un archivo sin etiquetas:

`LOAD @1 as A, @2 as B from data3.txt (ansi, 
					txt, delimiter is '\t', no labels);
				`

Cargar Name como una concatenación de FirstName, un carácter de espacio y LastName:

`LOAD FirstName&' '&LastName as Name 
					from data1.csv;
				`

Cargar Quantity, Price y Value (el producto de Quantity y Price):

`LOAD Quantity, Price, Quantity*Price as Value 
				from data1.csv;`

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Seleccionar ciertos registros

Cargue solo registros únicos, los registros duplicados serán descartados:

`LOAD distinct FirstName, LastName, Number from 
					data1.csv;
				`

Cargar solo registros donde el campo Litres tenga un valor superior a cero:

`LOAD * from Consumption.csv where Litres>0;
				`

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Cargue datos que no residan en un archivo y datos autogenerados.

Cargar una tabla con datos inline, dos campos denominados CatID y Category:

`LOAD * Inline
				` `[CatID, Category
				` `0,Regular
				` `1,Occasional
				` `2,Permanent];
				`

Cargar una tabla con datos inline, tres campos denominados UserID, Password y Access:

`LOAD * Inline [UserID, Password, Access
				` `A, ABC456, User
				` `B, VIP789, Admin];
				`

Cargue una tabla con 10.000 filas. El campo A contendrá el número del registro leído (1,2,3,4,5 ...) y el campo B contendrá un número aleatorio entre 0 y 1:

`LOAD RecNo( ) as A, rand( ) as B autogenerate(10000);`

Nota informativaEl paréntesis tras autogenerate se permite pero no es obligatorio.

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Cargar datos de una tabla previamente cargada

Primero cargamos un archivo de tabla delimitado y lo denominamos tab1:

`tab1:
				` `SELECT A,B,C,D from 'lib://DataFiles/data1.csv';
				`

Cargar campos de la tabla ya cargada tab1 como tab2:

`tab2:` `LOAD A,B,month(C),A*B+D as E resident tab1;`

Cargar campos de la tabla ya cargada tab1 pero solo los registros donde A sea mayor que B:

`tab3:` `LOAD A,A+B+C resident tab1 where A>B;`

Cargar campos de la tabla ya cargada tab1 ordenados por A:

`LOAD A,B*C as E resident tab1 order by A;`

Cargar campos de la tabla ya cargada tab1, ordenados por el primer campo, luego el segundo campo:

`LOAD A,B*C as E resident tab1 order by 1,2;`

Cargar campos de la tabla ya cargada tab1 ordenados por C descendente, luego B en orden ascendente y luego el primer campo por orden descendente:

`LOAD A,B*C as E resident 
				tab1 order by C desc, B asc, 1 desc;`

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Cargar datos de campos previamente cargados

Cargue el campo Types de la tabla previamente cargada Characters como A:

`LOAD A from_field (Characters, 
				Types);`

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Cargar datos de una tabla subsiguiente (load precedente)

Cargar A, B y los campos calculados X y Y desde Table1 que se carga en la sentencia SELECT subsiguiente:

`LOAD A, B, if(C>0,'positive','negative') 
					as X, weekday(D) as Y;
				` `SELECT A,B,C,D from Table1;`

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Agrupación de datos

Cargar campos agrupados (agregados) por ArtNo:

`LOAD ArtNo, round(Sum(TransAmount),0.05) as 
					ArtNoTotal from table.csv group by ArtNo;
				`

Cargar campos agrupados (agregados) por Week y ArtNo:

`LOAD Week, ArtNo, round(Avg(TransAmount),0.05) 
				as WeekArtNoAverages from table.csv group by Week, ArtNo;`

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Leer un registro de forma repetida

En este ejemplo tenemos un archivo de entrada Grades.csv que contiene las calificaciones de cada alumno condensadas en un campo:

`Student,Grades` `Mike,5234` `John,3345` `Pete,1234` `Paul,3352`

Las calificaciones, en una escala del 1 al 5, representan las asignaturas Math, English, Science y History. Podemos separar las en valores aparte leyendo cada registro varias veces con una cláusula while, usando la función IterNo( ) como contador. En cada lectura, la calificación se extrae con la función Mid y se almacena en Grade, y la asignatura se selecciona usando la función pick y se almacena en Subject. La cláusula final while contiene la prueba para verificar si se han leído todas las calificaciones (cuatro por alumno en este caso), lo que significa que se debe leer el siguiente registro del alumno.

`MyTab:
				` `LOAD 
					Student,
				` `mid(Grades,IterNo( 
					),1) as Grade,
				` `pick(IterNo( 
				), 'Math', 'English', 'Science', 'History') as Subject from Grades.csv` `while IsNum(mid(Grades,IterNo(),1));`

El resultado es una tabla que contiene los siguientes datos:

![Resulting table data](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/ex_gen_LoadRepeated.png)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)

#### Cargar desde conexiones analíticas

Se utilizan los siguientes datos de muestra.

```
Values:
Load
 Rand() as A,
 Rand() as B,
 Rand() as C
AutoGenerate(50);
```

Cargar datos utilizando una función

En estos ejemplos, suponemos que tenemos un complemento, un plugin de conexión analítica llamado P que contiene una función personalizada Calculate(Parameter1, Parameter2). La función devuelve la tabla Resultados que contiene los campos Field1 y Field2.

```
Load * Extension P.Calculate( Values{A, C} );
```

Cargar todos los campos que se devuelven al enviar los campos A y C a la función.

```
Load Field1 Extension P.Calculate( Values{A, C} );
```

Cargar solo el campo Field1 al enviar los campos A y C a la función.

```
Load * Extension P.Calculate( Values );
```

Cargar todos los campos que se devuelven al enviar los campos A y B a la función. Como los campos no se especifican, A y B se utilizan ya que son los primeros en orden en la tabla.

```
Load * Extension P.Calculate( Values {C, C});
```

Cargar todos los campos que se devuelven al enviar el campo C a ambos parámetros de la función.

Load \* Extension P.Calculate( Values {String(A), Mixed(B)});

Cargar todos los campos que se devuelven al enviar el campo A forzado como una cadena y B forzado como un valor numérico a la función.

Cargar los datos evaluando un script

Load A as A\_echo, B as B\_echo Extension R.ScriptEval( 'q;', Values{A, B} );

Cargar la tabla devuelta por el script q al enviar los valores de A y B.

Load \* Extension R.ScriptEval( '$(My\_R\_Script)', Values{A, B} );

Cargar la tabla devuelta por el script almacenado en la variable My\_R\_Script al enviar los valores de A y B.

Load \* Extension R.ScriptEval( '$(My\_R\_Script)', Values{B as D, \*} );

Cargar la tabla devuelta por el script almacenado en la variable My\_R\_Script al enviar los valores de B renombrados como D, A y C. Usar \* envía los campos restantes sin referencia.

Nota informativaLa extensión de archivo de las conexiones de DataFiles distingue entre mayúsculas y minúsculas. Por ejemplo: .qvd.