Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
alexis_garcia
Creator II
Creator II

Sentencias SQL sobre tabla Resident

Hola,

Es posible realizar sentencias SQL en sobre una tabla Resident de alguna forma?

Gracias.

Saludos.

1 Solution

Accepted Solutions
jvitantonio
Luminary Alumni
Luminary Alumni

Hola Alexis,

Las sentencia SQL se ejecutan en la base de datos, y el motor devuelve el resultado al motor de Qlik View/Sense. Ese resultado puede ser luego manipulado por el lenguaje de scripting nativo de Qlik View/Sense. Sin embargo, no puedes usar sintaxis nativas del motor de base de datos en una carga realizada con Qlik scripting. Ambos son independientes y si bien pueden trabajar juntas, las mismas no pueden mezclarse.

Paralelamente, no puedes usar sentencias de Qlik en tu SQL, pero sí puedes realizar un preceding load de la siguiente forma:

MiTablaQlik:

LOAD

    upper(Nombre)     AS Nombre

    lower(Apellido)      AS Apellido;

;

SQL

SELECT Nombre, Apellido FROM miTabal

;

Esto te permite manipular los datos cargados desde tu base de datos, con sentencias de Qlik.

Una cosa que si me gustaria clarificar, es el uso de variables entre los diferentes bloques.  Puedes asignar valores de tu tabla residente a una variable (un valor por variable) y esa variable usarla por ejemplo, en tu sentencia WHERE en sql.

Saludos,

Juan.-

View solution in original post

4 Replies
fkeuroglian
Partner - Master
Partner - Master

Alexis como estas?

Para que querres hacer esto funcionalmente hablando?

Es decir, lo que podes hacer es ejecutar una SQL que vaya directo a la tabla y luego cargar una tabla residente que vaya sobre esa tabla previamente generada(que se origino en base a la query sql)

Espero sirva

Saludos

TablaOrigen:

sql Select * from Tabla1;

NoConcatenate:

TablaResident:

Load *

Resident TablaOrigen;

Drop table TablaOrigen;//Borra la tabla original SQL

alexis_garcia
Creator II
Creator II
Author

Hola Fernando,

Mi problema es que tengo unas 30 consultas a tablas de la BD en el script, que se guardan en una misma tabla.

En base a esa tabla creada con todas las consultas anteriores necesitaría poder añadir sentencias SQL, pero al parecer no debe de ser posible.

Gracias.

Saludos.

fkeuroglian
Partner - Master
Partner - Master

Alexis como estas?

Pero para que queres agregar a esa tabla sentencias SQL

Podes hacerlo utilizando Concatenate

Por ejemplo

Load *

Resident tablas

concatenate

SQL Select * from tablaSQL

De esta forma te va a quedar la tabla original + los datos que traigas de la SQL

jvitantonio
Luminary Alumni
Luminary Alumni

Hola Alexis,

Las sentencia SQL se ejecutan en la base de datos, y el motor devuelve el resultado al motor de Qlik View/Sense. Ese resultado puede ser luego manipulado por el lenguaje de scripting nativo de Qlik View/Sense. Sin embargo, no puedes usar sintaxis nativas del motor de base de datos en una carga realizada con Qlik scripting. Ambos son independientes y si bien pueden trabajar juntas, las mismas no pueden mezclarse.

Paralelamente, no puedes usar sentencias de Qlik en tu SQL, pero sí puedes realizar un preceding load de la siguiente forma:

MiTablaQlik:

LOAD

    upper(Nombre)     AS Nombre

    lower(Apellido)      AS Apellido;

;

SQL

SELECT Nombre, Apellido FROM miTabal

;

Esto te permite manipular los datos cargados desde tu base de datos, con sentencias de Qlik.

Una cosa que si me gustaria clarificar, es el uso de variables entre los diferentes bloques.  Puedes asignar valores de tu tabla residente a una variable (un valor por variable) y esa variable usarla por ejemplo, en tu sentencia WHERE en sql.

Saludos,

Juan.-