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: 
raferdom
Contributor III
Contributor III

Duda IF excluyendo filtros de seleccion

Buenos días,

Acudo a ustedes con una duda que aunque creo que es sencillo de responder no he podido solucionar.

Resulta que tengo un control de días hábiles del mes, en un archivo de excel esta la fecha (cada día del mes) y un campo con "1" si es hábil o "0" si es día no hábil. En el cuadro de control tengo un objeto de texto que indica cuantos días hábiles del mes van, es sencillamente una suma de los 1 para indicar la cantidad de días hábiles que han transcurrido. A continuación las imágenes con las configuraciones del objeto y la variable que uso para dar los días hábiles:

Imagen1.jpg

Imagen2.jpg

Ahora tengo la necesidad de que cuando el día hábil sea 0 el sistema no muestre la suma de los días hábiles sino que ponga un cero. Lo intente con un IF([Dia Habil]>0, $(vDiaHabilMax),0) y funciona bien. Pero se puede dar el caso que cuando realizo filtros por ejemplo por canal de cliente los datos se reducen y queda como si el movimiento no hubiera sido el día domingo que tiene dia habil = 0 si no como si fuera un sábado que tiene día hábil igual a 1.  Lo que necesito es hacer este if pero excluyendo la selección del campo Canal Cliente. Pense en algo como lo que se usa en el Set análisis {<[Canal Cliente]= >} pero no logro cuadrar la formula.

Les agradecería si me pueden guiar en como puedo hacer este if excluyendo la selección o filtro de un campo o como seria la mejor manera de hacerlo.

Como siempre les agradezco su valiosa colaboración y quedo atento a sus comentarios.

Saludos,

Raúl

1 Solution

Accepted Solutions
alex_millan
Creator III
Creator III

Hola Raul,

pues creo que no te entendí, disculpa.

A ver si te entiendo ahora:

- Teniendo que estamos a día 5 del mes y sólo son hábiles 1, 2 y 5.

- Si estás a día 4 quieres que ponga: Dia Habil: 0 - Dias Habiles Mes: 2

- Y si estás a dia 5 quieres que ponga: Dia Habil: 3 - Dias Habiles Mes: 3

Si es así, y quieres además que ignore la selección del campo [Canal Cliente]:

=IF(Only({<[Canal Cliente]=>}[Dia Habil])=0,

'Dia Habil: 0 - Dias Habiles Mes: ' & Sum({<[Canal Cliente]=>}[Dia Habil]),

'Dia Habil: ' & Sum({<[Canal Cliente]=>}[Dia Habil]) & ' - Dias Habiles Mes: ' & Sum({<[Canal Cliente]=>}[Dia Habil])

)

De todas maneras no estoy seguro de haberte entendido del todo, la verdad

View solution in original post

6 Replies
alex_millan
Creator III
Creator III

Hola Raul,

modificando la expresión que usas en tu definición de la variable $(vDiaHabilMax), podrías hacerlo incluyendo una cláusula SET a la expresión:

Sum({<[Dia Habil] = {1}>}[Dia Habil])

Un saludo

raferdom
Contributor III
Contributor III
Author

Buenos días,

Alex gracias por tu respuesta pero cuando se le agrega la clausula que indicas, igual suma los días hábiles y seguirá mostrando por ejemplo 6 días, porque ahí se estarían excluyendo los datos que no sean iguales a 1 pero igual seguiría sumando los otros datos.

Como lo indique la idea es que cuando el día hábil sea igual a cero el sistema no muestre la  suma si no el dato 0.

Saludos,

Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Hola:

Qué pasa cuando seleccionen un mes entero hay días hábiles y festivos ?

Qué dato mostrarás en ese caso

Saludos

Joaquín

alex_millan
Creator III
Creator III

Hola Raul,

pues creo que no te entendí, disculpa.

A ver si te entiendo ahora:

- Teniendo que estamos a día 5 del mes y sólo son hábiles 1, 2 y 5.

- Si estás a día 4 quieres que ponga: Dia Habil: 0 - Dias Habiles Mes: 2

- Y si estás a dia 5 quieres que ponga: Dia Habil: 3 - Dias Habiles Mes: 3

Si es así, y quieres además que ignore la selección del campo [Canal Cliente]:

=IF(Only({<[Canal Cliente]=>}[Dia Habil])=0,

'Dia Habil: 0 - Dias Habiles Mes: ' & Sum({<[Canal Cliente]=>}[Dia Habil]),

'Dia Habil: ' & Sum({<[Canal Cliente]=>}[Dia Habil]) & ' - Dias Habiles Mes: ' & Sum({<[Canal Cliente]=>}[Dia Habil])

)

De todas maneras no estoy seguro de haberte entendido del todo, la verdad

raferdom
Contributor III
Contributor III
Author

Alex, Joaquin gracias por sus respuestas.

Joaquin lo que requiero hacer es lo que expone Alex en su respuesta, básicamente es decir si el dia habil actual (ultima fecha procesada del mes) es habil o no, e indicar cuantos dias habiles han transcurrido hasta el momento.  Este qvw se ejecuta a diario. Por ejemplo cuando se selecciona un mes ya procesado se muestra si el ultimo día del mes fue habil y el total de dias habiles.

Alex la verdad coloque la formula que me expones y me sigue mostrando Dia Habil: 6 - Dias Habiles Mes: 6  y no Dia Habil: 0 - Dias Habiles Mes: 6. Es como si no lograra hacer el condicional y se fuera por la opción del si no.


Nuevamente muchas gracias a los dos por su tiempo y sus comentarios.

Saludos,

raferdom
Contributor III
Contributor III
Author

Alex ya corregí, que pena era un espacio en el nombre del campo. Eso era lo que necesitaba, les agradezco mucho por su tiempo.

Mil gracias Alex y Joaquin por su tiempo y respuestas, como siempre esta comunidad esta presta a ayudar...

Saludos,