Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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,
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
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,
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
Hola Jordi,
Muchas gracias por tu respuesta, lo he probado y no me funciona.
Saludos
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,
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
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
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
Genial, Un abrazo