Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Que tal, tengo un problema al cargar mis variables de un excel a Qlik View, se cargan de manera correcta pero no se reconocen en las tablas. Pero la elimino y luego las vuelvo a definir exactamente igual y Qlik si las carga de manera normal. Alguien sabe por que no reconoce las variables aunque si las carga?
Este es mi codigo
TablaVariables:
LOAD VARIABLE,
SENTENCIA
FROM [..\..\3_XLS\Variables\VARIABLES.xlsx]
(ooxml, embedded labels, table is Hoja1);
for v=0 to NoOfRows('TablaVariables')
let vVariable=Peek('VARIABLE',$(v),'TablaVariables');
let $(vVariable)=Peek('SENTENCIA',$(v),'TablaVariables');
NEXT v
let v = null();
let vName = null();
Que tal, si me aparecen en el panel de variables e incluso tienen la sintaxis correcta. Pero no se reconoce en el Set Analisys a ninguna. Cuando elimino alguna variable y la declaro exactamente igual en el panel de variables de forma manual si la reconoce.
Igual es porque en el excel también estás declarando las variables con un igual delante, por ejemplo:
LET vAñoActual = Year(Today);
En el excel solo debería ser Year(Today), si en el excel está como =Year(Today()) se encontrará con dos iguales, que dependiendo del contexto donde se use puede dar un error de sintaxis.
También puede ser al revés: que necesite ese signo igual adicional y no se está poniendo.
Si pudieses poner algún ejemplo concreto sería más fácil depurarlo.
Ya intente quitarle el igual y también ponerlo, en algunos ejemplos encontré que ponían una comillla simple. Pero obtengo el mismo resultado.Estas son las variables que intento cargar como prueba en una app donde solo usa estas tres variables
VARIABLE | SENTENCIA |
V_Año_ActuaL | max([Año Apple]) |
v_Año_Ant | max([Año Apple])-1 |
v_MaxTrimestreActuaL | Max({$<[Año Apple]={$(V_Año_Actual)}>}[Trimestre Especial Numerico]) |
Puedes pensar en los $-expansion como si pegase el contenido de la variable tal cual, hecho así, al expandir los $ se quedaría como:Max({$<[Año Apple]={max([Año Apple])}>}[Trimestre Especial Numerico])
Lo cual dará un error
Si a la variable V_Año_ActuaL le añades el = al principio para que evalue la expresión sí que pasaría el valor
V_Año_ActuaL | =max([Año Apple]) |
v_Año_Ant | =max([Año Apple])-1 |
v_MaxTrimestreActuaL | Max({$<[Año Apple]={$(V_Año_Actual)}>}[Trimestre Especial Numerico]) |
Si, me suena muy lógico en realidad pensé que iba a funcionar pero no. Aunque si las carga de manera correcta no hay cambio en el resultado, las tablas siguen sin aparacer. Dejo un ejemplo de lo que sucede con la aplicacion con varibles cargadas de manera manual y las que cargo desde el Excel
Por lo que veo, si la de la derecha es la correcta, lo que le falta es añadir también el = a la variable v_MaxTrimestreActuaL
VARIABLE | SENTENCIA |
V_Año_ActuaL | =max([Año Apple]) |
v_Año_Ant | =max([Año Apple])-1 |
v_MaxTrimestreActuaL | =Max({$<[Año Apple]={$(V_Año_Actual)}>}[Trimestre Especial Numerico]) |
Si, ya han quedo exactamente igual, es por eso que pienso que el problema debe ir por otro lado. Ya que en apariencia están igual e incluso e intentado las variaciones antes mencionadas pero no encuentro la razón por la cual no las reconoce.
Anexo una captura de el cambio sugerido.
Otra diferencia que veo es que en el que no funciona la última L de Actual esta en mayúscula y en el otro documento en minúscula, habría que dejar los nombres en minúscula como el original.