Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Q&A with Qlik - Qlik Cloud Migration: Questions about migrating to Qlik Cloud? Catch the latest replay!
cancel
Showing results for 
Search instead for 
Did you mean: 
jorge_redondo
Contributor III
Contributor III

Insertar una variable en un objeto de texto

Hola!

Tengo un problemilla que no sé cómo resolver. Trabajo con variables durante una carga de datos pero luego no me las muestra cuando quiero insertarlas en un objeto de texto.

Tengo este código:

LOAD

     ....

    // vSaldoIniJLACAR es el saldo inicial de la cuenta a 01/Ene, del cuál parte la acumulación en el campo Saldo

    if( recno()=1,

        numsum($(vSaldoIniJLACAR)),

        numsum(if([D-HOPE]='D', IMPOPE* -1, IMPOPE),PEEK('Saldo'))

        ) as Saldo,

        $(vSaldoFinJLACAR) = PEEK('Saldo',-1); // vSaldoFinJLACAR es la variable donde quiero almacenar el último valor del campo Saldo para, mostrarla en un objeto de texto.

     ....

SQL SELECT * FROM F_OPE WHERE CUEOPE = '2164133221';

La cuestión es que una vez creado el objeto de texto e insertado en la caja "Texto" la variable (he probado con $(vSaldoFinBMSBSA) y vSaldoFinBMSBSA) me muestra siempre 0.

Dónde está el error??

Gracias!!

1 Solution

Accepted Solutions
soniacoprosa
Creator
Creator

Hola Jorge,

En el objeto de texto tienes que poner un "=" antes de la variable para que te ponga el valor que tiene ésta:

=  vSaldoFinBMSBSA

El "$" sólo se pone dentro de la sentencias Load, Select...

Supongo que ya lo estás haciendo así.

Yo me aseguraría con un debug de que la variable realmente esté cogiendo bien el valor. No entiendo muy bien donde le estás dando el valor en el ejemplo que has puesto, yo suelo darles valor fuera de la carga del load.

Por ejemplo, tras leer una tabla de la base de datos en el script, que me devuelve un solo registro con la fecha de cierre, yo le doy valor a la varible vAñoMesCierre utilizando la sentencia let:

 

Espero que te sirva.

Un saludo,

let 

vAñoMesCierre = FieldValue('AñoMesCierre', 1);

View solution in original post

4 Replies
jorge_redondo
Contributor III
Contributor III
Author

Para simplificar más la cuestión, lo que deseo hacer es insertar un campo determinado del último registro leído en un 'text box'. Supongo que necesitaría usar variables porque se trata de la misma tabla leída de diferentes ficheros .MDB, con lo que QV la sintetizaría en una sóla, por tanto, en cada carga tendría que usar una variable diferente.

A ver si alguien puede echarme una mano, Gracias!!

soniacoprosa
Creator
Creator

Hola Jorge,

En el objeto de texto tienes que poner un "=" antes de la variable para que te ponga el valor que tiene ésta:

=  vSaldoFinBMSBSA

El "$" sólo se pone dentro de la sentencias Load, Select...

Supongo que ya lo estás haciendo así.

Yo me aseguraría con un debug de que la variable realmente esté cogiendo bien el valor. No entiendo muy bien donde le estás dando el valor en el ejemplo que has puesto, yo suelo darles valor fuera de la carga del load.

Por ejemplo, tras leer una tabla de la base de datos en el script, que me devuelve un solo registro con la fecha de cierre, yo le doy valor a la varible vAñoMesCierre utilizando la sentencia let:

 

Espero que te sirva.

Un saludo,

let 

vAñoMesCierre = FieldValue('AñoMesCierre', 1);

jorge_redondo
Contributor III
Contributor III
Author

Muchísimas gracias Sonia!

Estaba haciéndolo mal, colocaba la variable dentro de la carga de la tabla.

Un saludo!

soniacoprosa
Creator
Creator

De nada. Me alegro que te sirva.

Saludos,