Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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
Let Variable1= 'A';
Let Variable2= 'B';
SQL Select campo1,
campo2,
campo3
FROM tabla_prueba
WHERE campo4 IN ($(Variable1), $(Variable2))
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
Muchas gracias Miguel Ángel:
Funciona perfectamente con lo que me has dicho.
Un saludo.
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?
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