Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
carlosrb1978
Creator
Creator

Where

Buenas tardes con todos:

 

Agradecería me puedan ayudar a detectar cual es el problema con la siguiente sentencia, estoy realizando un Load, con una serie de condiciones, sin embargo al llegar al campo Description_VTEXT2, para indicar que tome todos los registros excepto las de 'AJI-NO-MOTO BULK', no hace caso y simplemente no toma nada o salen cualquier otra cosa, 

No se si la sentencia esta mal, algo esta faltando o q?..

 

Ventas_1:
Load *
Resident Ventas
Where
Fecha >= '01/04/2017' and Fecha < Today() or IsNull(Fecha)
and [Contenido Lineas] = 'Sin Giro/Promo'
and Obsequio = 'NA'
and cod_org_ventas = 1100
and Description_VTEXT2<>'AJI-NO-MOTO BULK'
;

Muchas gracias de antemano

 

Atte.

CarlosR.

1 Solution

Accepted Solutions
amonjaras
Partner - Creator II
Partner - Creator II

No se si se deba a jerarqúia de operaciones: Los ANDs van antes que los ORs

Por ejemplo, tu primera línea de condición se ejecutaría así:

(Fecha >= '01/04/2017' and Fecha < Today()) or IsNull(Fecha)

Como si estuvieran los paréntesis extra; o sea que si la fecha es nula, no importan las dos primeras condiciones.

Si por el contrario, lo que quieres es que la condición diga: "Si la fecha es mayor al 01/04/2017 y menor a hoy o nula", deberías escribir:

Fecha >= '01/04/2017' and (Fecha < Today() or IsNull(Fecha))

Para evitar problemas, indica cómo quieres que se ejecute poniendo tú los paréntesis

Espero que ésto sea de ayuda.

Saludos.

View solution in original post

3 Replies
bisimerm
Partner - Contributor II
Partner - Contributor II

Son valores diferentes o es un solo valor "AJI-NO-MOTO BULK", si aplicas un "Not in" funcionara?

amonjaras
Partner - Creator II
Partner - Creator II

No se si se deba a jerarqúia de operaciones: Los ANDs van antes que los ORs

Por ejemplo, tu primera línea de condición se ejecutaría así:

(Fecha >= '01/04/2017' and Fecha < Today()) or IsNull(Fecha)

Como si estuvieran los paréntesis extra; o sea que si la fecha es nula, no importan las dos primeras condiciones.

Si por el contrario, lo que quieres es que la condición diga: "Si la fecha es mayor al 01/04/2017 y menor a hoy o nula", deberías escribir:

Fecha >= '01/04/2017' and (Fecha < Today() or IsNull(Fecha))

Para evitar problemas, indica cómo quieres que se ejecute poniendo tú los paréntesis

Espero que ésto sea de ayuda.

Saludos.

carlosrb1978
Creator
Creator
Author

Es Correcto, funciono bloqueando la condición de ese campo con los paréntesis!!..

Se agradece a su apoyo a todos!!..

 

Buen día!!

CarlosR