jueves, 8 de noviembre de 2012

Definir variables desde un archivo plano - Parte 1

Una de las utilidades mas lindas que tienen las variables en QV es que podemos guardar en ellas código y luego reutilizarlo donde queramos.

En mi caso necesito aplicar el siguiente calculo a 8 graficos distintos: 
(if(PASOS <13, acumY/PASOS, acumY/12)-(if( PASOS<13, (acumXY - ((acumX * acumY)/PASOS)) / (acumX2 - (pow(acumX,2)/PASOS)),(acumXY - ((acumX * acumY)/12)) / (acumX2 - (pow(acumX,2)/12)))*if(PASOS <13, acumX/PASOS, acumX/12)))+(if( PASOS<13,(acumXY - ((acumX * acumY)/PASOS)) / (acumX2 - (pow(acumX,2)/PASOS)),(acumXY - ((acumX * acumY)/12)) / (acumX2 - (pow(acumX,2)/12))))*MESAÑO

Esta claro que el día que tenga que cambiar este calculo voy a preferir cambiarlo en una sola vez en lugar de hacerlo 8 veces, así que voy a guardar el calculo en un excel y con eso defino una variable que reutilizare en los 8 gráficos.

El Excel: variables.xlsx

El código para generar cada una de las variables declaradas en el excel:

QUALIFY *;
V:
LOAD NOMBRE,
EXPRESION
FROM ..\..\..\CFG\variables.xlsx (ooxml, embedded labels, table is Hoja1);

UNQUALIFY*;

FOR i = 1 TO NOOFROWS('V')
l_var = PEEK('V.NOMBRE', $(i)-1, 'V');
l_val = PEEK('V.EXPRESION', $(i)-1, 'V');
SET $(l_var) = $(l_val);
NEXT i;

DROP Table V;

Ejemplo de utilización de la variable en un gráfico:  SUM($(=v_estimaicon_lineal))

No hay comentarios:

Publicar un comentario