Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements
QlikView Fans! We’d love to hear from you.
Share your QlikView feedback with the product team… Click here to participate in our 5-minute survey.
Rules, plus terms and conditions, can be found here.
Not applicable

Cómo se usar en script variable pasada en la llamada

Buenos días:

Soy bastante nueva en QlikView y necesito vuestra ayuda.

Necesito ejecutar por línea de comandos la recarga de un archivo qvw pasándole dos parámetros. La sentencia que tengo que ejecutar, me imagino que será:

    qv.exe /r /vVariable1='A' /vVariable2='B' prueba.qvw

Yo usaría esos parámetros como filtros dentro de una sentencia SELECT. Por ejemplo:

  prueba: SQL Select campo1,

                                campo2,

                                campo3

                     FROM tabla_prueba

                  WHERE campo4 BETWEEN Variable1

                                                      AND Variable2

Mi duda es: ¿Se puede hacer esto en QlikView?. Si es posible, ¿cómo se declaran dentro del script esas variables?. He probado con LET y SET y nada. A lo mejor lo debo hacer de otra manera. Por favor, si alguien me puede dar una pista, se lo agradecería mucho.

Muchas gracias.

Un saludo.

1 Solution

Accepted Solutions

Re: Cómo se usar en script variable pasada en la llamada

Hola María,

Las variables ya deben existir en QlikView, y no en el script, puesto que las que estén en el script sobreescribirán las que pases como parámetros. Más bien créalas antes en el menú Configuraciones, Panel de Variables, y déjalas sin valor.

Una vez que ejecutes QlikView con esa línea de comandos, el script debería quedarte algo así como:

Prueba:

LOAD *;

SQL Select campo1,

campo2,

campo3

FROM tabla_prueba

WHERE campo4 BETWEEN '$(Variable1)' AND '$(Variable2)';

Deberás utilizar las comillas simples si el valor de las variables es una cadena de texto, y no necesitarás usarlas si el valor es numérico.

Espero que te ayude.

Miguel

5 Replies
Not applicable

Cómo se usar en script variable pasada en la llamada

Let  Variable1= 'A';

Let Variable2= 'B';

SQL Select campo1,

                                campo2,

                                campo3

                     FROM tabla_prueba

                  WHERE campo4 IN ($(Variable1), $(Variable2))

Re: Cómo se usar en script variable pasada en la llamada

Hola María,

Las variables ya deben existir en QlikView, y no en el script, puesto que las que estén en el script sobreescribirán las que pases como parámetros. Más bien créalas antes en el menú Configuraciones, Panel de Variables, y déjalas sin valor.

Una vez que ejecutes QlikView con esa línea de comandos, el script debería quedarte algo así como:

Prueba:

LOAD *;

SQL Select campo1,

campo2,

campo3

FROM tabla_prueba

WHERE campo4 BETWEEN '$(Variable1)' AND '$(Variable2)';

Deberás utilizar las comillas simples si el valor de las variables es una cadena de texto, y no necesitarás usarlas si el valor es numérico.

Espero que te ayude.

Miguel

Not applicable

Re: Cómo se usar en script variable pasada en la llamada

Muchas gracias Miguel Ángel:

Funciona perfectamente con lo que me has dicho.

Un saludo.

Not applicable

Re: Cómo se usar en script variable pasada en la llamada

una consulta.

es posible cargar cierto trozo de script en qlikview por eje:

cargar solamente

Prueba:
LOAD *;
SQL Select campo1,
campo2,
campo3
FROM tabla_prueba
WHERE campo4 BETWEEN '$(Variable1)' AND '$(Variable2)';

en ves de todo el script?

Re: Cómo se usar en script variable pasada en la llamada

Hola,

Sí, es posible. Una manera de hacerlo es utilizar una condición IF ... THEN ... END IF

LET vFecha = Today();

// Aquí el script que se ejecuta solo en ocasiones

IF '$(vFecha)' = '04/01/2013' THEN // esto siempre es cierto

Prueba:

LOAD *;

SQL Select campo1,

campo2,

campo3

FROM tabla_prueba

WHERE campo4 BETWEEN '$(Variable1)' AND '$(Variable2)';

END IF

// Aquí el resto del script que se ejecuta siempre

Espero que te sirva.

Miguel

Community Browser