Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Muchas variables definidas con if() y al final no evalúa el resultado.

Hola a todos.

Actualmente estoy implementando un What If Analysis con QlikView que consta de un algoritmo complejo. Primero debo crear los objetos Slider que modifican el valor para cada campo. A este slider le asigno una variable. Luego realizo las operaciones para cada variable, que consta de una serie de condicionales y operaciones algebráicas. Luego debo en un nuevo "nivel" de variables agrupar mediante operaciones los resultados del nivel anterior y así sucesivamente hasta llegar a un resultado final de todo el proceso. El problema es que tengo una cantidad increíble de variables porque el algoritmo es bastante complejo y cuando realizo la última operación, Qlik no realiza los cálculos para toda la tabla de datos (aproximadamente 1millón) solo realiza una parte.

Aquí muestro un pequeño ejemplo del proceso que estoy realizando:

vSliderVar1 corresponde al Slider que modifica los porcentajes de un Campo1

Luego,

vVar1 que corresponde a un condicional donde if(Campo1='MISSING',Campo1,Campo1*(1+vSliderVar1)

vIndVar1 que consiste en una serie de condicionales para asignar un peso estadístico al valor obtenido:

     if($(vVar1)>0 and $(vVar1)<10,0,0054,

          if($(vVar1)>=10 and $(vVar1)<>'MISSING,0.84857,

               if($(vVar1)='MISSING',0.39393))) //esto es solo un ejemplo que acabo de inventar para explicar lo que hago.

vScoreA que es una suma de varias vIndVarN que va de acuerdo a un Campo "F" que clasifica el tipo de Score...

Ejemplo:

if(F=0,0,4.334+$(vIndVar1)+$(vIndVar2)+...+$(vIndVarN))

Existen cuatro tipo de Score, digamos ScoreA, ScoreB, ScoreC y ScoreD que corresponde a distintos modelos del algoritmo. Luego se realiza un cálculo de la variable final vPD que también incluye un condicional y realiza la combinación algebráica e logarítmica de los distintos "Score".

Al final lo que realiza QlikView es calcular la vPD para un determinado valor del campo "F", que corresponde al primero que se define dentro de la expresión y no logra calcularlo para el resto de valores del campo "F" y no logra calcularlo para toda la tabla. He intentado reducir el número de variables y expresiones para optimizar el rendimiento de qlik y lo que logro al final es solo un pequeño porcentaje en la cantidad de registros para los cuales me realiza el cálculo pero no logro aún hacerlo para toda la tabla. Además que después, de haber calculado vPD debo aún implementar 3 variables sucesivas pero he llegado hasta este punto.

Cualquier colaboración e idea, se los agradeceré porque llevo dos semanas con esto y no he podido avanzar. Ya estoy en el final del proyecto!!!

Gracias.

0 Replies