Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
josemaria
Creator II
Creator II

Condicion dentro del Script

Hola queridos compañer@s,

Estoy trabajando en un documento y necesitaría hacer una condición o dentro del Script o dentro de una expresión.

cuando la ejecuto me devuelve el resultado de la formula pero cuando cumple alguna de las dos condiciones no me devuelve nada, os paso la condición.

condición en el script:

if(IMPORTE_IVA='0' and IMPORTE_NETO <> '0','SIN IMPUESTOS',
if(IMPORTE_IVA='0' and IMPORTE_NETO='0', 'NO FACTURADO',IMPORTE_BRUTO_PENDIENTE-IMPORTE_BRUTO_PENDIENTE*(1-(IMPORTE_IVA/IMPORTE_NETO)))) as
Imp_Red

condición en la expresión:

if(IMPORTE_IVA='0' and IMPORTE_NETO <> '0','SIN IMPUESTOS',
if(IMPORTE_IVA='0' and IMPORTE_NETO='0', 'NO FACTURADO',IMPORTE_BRUTO_PENDIENTE-IMPORTE_BRUTO_PENDIENTE*(1-(IMPORTE_IVA/IMPORTE_NETO))))

Alguien sabe que es lo que estoy haciendo mal.

Gracias

Saludos

1 Solution

Accepted Solutions
sorrakis01
Specialist
Specialist

Hola,

A ver si así te funciona en el script:

LOAD

if(IMPORTE_IVA=0 and IMPORTE_NETO <> 0,'SIN IMPUESTOS',

if(IMPORTE_IVA='0' and IMPORTE_NETO='0', 'NO FACTURADO',

IMPORTE_BRUTO_PENDIENTE-(IMPORTE_BRUTO_PENDIENTE*(1-(IMPORTE_IVA/IMPORTE_NETO))))) as Imp_Red

en principio creo que te baila un parentesis (, lo he añadido delante de IMPORTE_BRUTO_PENDIENTE pero si quieres evaluar toda la resta ponlo delante de IMPORTE_BRUTO_PENDIENTE

Saludos,

View solution in original post

10 Replies
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola:

Tengo algunas dudas, pero prueba estas dos soluciones

1) Puedes usar el campo Imp_Red del script en la expresión

2) DUAL( if .... ) en la expresión

Saludos,

Joaquín

sorrakis01
Specialist
Specialist

Hola,

A ver si así te funciona en el script:

LOAD

if(IMPORTE_IVA=0 and IMPORTE_NETO <> 0,'SIN IMPUESTOS',

if(IMPORTE_IVA='0' and IMPORTE_NETO='0', 'NO FACTURADO',

IMPORTE_BRUTO_PENDIENTE-(IMPORTE_BRUTO_PENDIENTE*(1-(IMPORTE_IVA/IMPORTE_NETO))))) as Imp_Red

en principio creo que te baila un parentesis (, lo he añadido delante de IMPORTE_BRUTO_PENDIENTE pero si quieres evaluar toda la resta ponlo delante de IMPORTE_BRUTO_PENDIENTE

Saludos,

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola:

Por cierto, estamos asumiendo que los campos IMPORTE_IVA, IMPORTE_NETO e IMPORTE_BRUTO_PENDIENTE los recuperas con una SELECT a la BBDD y no los calculas dentro de tu LOAD !!!

También debes quitar las comillas a los valores 0 numéricos, la bbdd puede devolver 0.00 ó 0,00

Saludos,

Joaquín

josemaria
Creator II
Creator II
Author

Hola Jordi,

Muchas gracias por tu respuesta, lo he probado y no me funciona.

Saludos

sorrakis01
Specialist
Specialist

Hola Jose Maria,

pues en principio a mi sí, te adjunto un ejemplo, a no ser que no sea exactamente lo que buscas.

y si quieres evaluar toda la resta pon:

LOAD

if(IMPORTE_IVA=0 and IMPORTE_NETO <> 0,'SIN IMPUESTOS',

if(IMPORTE_IVA='0' and IMPORTE_NETO='0', 'NO FACTURADO',

(IMPORTE_BRUTO_PENDIENTE-IMPORTE_BRUTO_PENDIENTE)*(1-(IMPORTE_IVA/IMPORTE_NETO)))) as Imp_Red;

Saludos,

josemaria
Creator II
Creator II
Author

Hola Joaquin,

Muchas gracias por tu respuesta, también lo he probado y no me da el resultado esperado. la expresión para hacer la condición que me comentas en el punto 2) porque pones la función 'DUAL' y como seria la expresión?

Muchas gracias

Saludos

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

La misma que tienes.

Para probar que tu expresión funciona, crea un cuadro de texto y constrúyela desde cero.

If ( Importe_IVA = 0, 0, 'Otra cosa' ....

If ( Importe_IVA = 0 and Importe_Neto <> 0, 'Sin Impuestos', 'Otra cosa' ....


hasta que tengas la certeza que tu expresión es 100% correcta

josemaria
Creator II
Creator II
Author

Hola,

Ya sale correcto, al final lo he podido solucionar en la expresión, he hecho una tabla pivotante y he puesto una expresión por cada campo que hago con condición (IMPORTE_IVA e IMPORTE_NETO) y luego hago la condición igual que antes pero con el nombre de la expresión de IMPORTE_IVA y de IMPORTE_NETO.

Muchas gracias por la ayuda a los dos

Saludos

sorrakis01
Specialist
Specialist

Genial, Un abrazo