Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Suma ignorando selección actual

Hola,

Antes que nada debo informar que soy nuevo en este mundo de QlikView y por eso debo recurrir a que me ayuden con una duda que tengo:

Me llego un documento que posee las siguientes variables configuradas:

vToday

vDiaHoy 01/05/2013

vStartDate 03/05/2010

vEndDate 13/05/2013

vLastWeek =$(vHoy)-8

vYesterday =$(vHoy)-2

vHoy 41660

vLastMonth =$(vHoy)-30

vLasQuarter =$(vHoy)-90

vLastYear =$(vHoy)-365

vLastMonth2 =MonthName(AddMonths(vHoy, -2))

vLastMonth3 =MonthName(AddMonths(vHoy, -3))

vLastMonth4 =MonthName(AddMonths(vHoy, -4))

vLastMonth5 =MonthName(AddMonths(vHoy, -5))

vLastMonth6 =MonthName(AddMonths(vHoy, -6))

vLastMonth1 =MonthName(AddMonths(vHoy, -1))

Y se hace una carga de la siguiente manera:

cases:

//First 1000

LOAD 1 as CaseCounter,

     CASE_NUMBER,

     CONDITION,

     CLOSE_DATE,

     CREATE_DATE,

     if (floor(CREATE_DATE)=floor(CLOSE_DATE), 1, 0 ) as SameDay,

     MonthName(CREATE_DATE) as MesAño,

     Month (CREATE_DATE) as MesInicio,

     Month (CLOSE_DATE) as MesFin,

     year (CREATE_DATE) as AñoInicio,

     year (CLOSE_DATE) as AñoFin,

     floor(CLOSE_DATE) as Dia,

     floor (CREATE_DATE) as DiaInicio,

     floor (CLOSE_DATE) as DiaFin

from $(vPath)Datos\cases.qvd (qvd)

CASE_NUMBERCREATED_DATECLOSED_DATECONDITION
11202-Dec-201303-Dec-2013CLOSED
113

06-Dec-2013

OPEN
11413-Nov-201308-Dec-2013CLOSED
11518-Dec-201305-Jan-2014CLOSED

La pregunta es, teniendo seleccionado el MesFin (CLOSE_DATE) como hago para sumar en un objeto distinto los casos que solo fueron creados en el mes de diciembre?

P.D.: Estuve leyendo sobre Set Analysis, pero hay cosas que no comprendo por el momento...

6 Replies
Carlos_Reyes
Partner - Specialist
Partner - Specialist

Hola,

Efectivamente con Set Analysis puedes lograr tu objetivo.

Intenta con la siguiente expresión:

Sum(  {$<MesFin=, MesInicio={'Dic'}>} CaseCounter)

Con esta expresión ignoras la selección que hagas en el campo MesFin y solo cuentas los casos cuya fecha de creación es Diciembre o Dic. Si necesitas ignorar otros campos tienes que agregarlos con el nombre del campo y una coma, algo como esto:

Sum(  {$<MesFin=, CampoaIgnorar2=, CampoaIgnorar3=, MesInicio={'Dic'}>} CaseCounter)

Not applicable
Author

Carlos, muchas gracias por responderme...

Mira, la formula que estaba en el documento original era:

=sum({<Condition={'CLOSED'}, MesAño ={'$(=vLastMonth1)'}>}CaseCounter)

Ahora no se porque esta suma no me da el resultado real, me da un numero que no corresponde.

La suma que me has enviado me da valor 0 (cero) como resultado.

Carlos_Reyes
Partner - Specialist
Partner - Specialist

Mario,

En ese caso, cómo se llama el campo donde haces selecciones? Porque está fórmula muestra el número de Casos Cerrados para el mes anterior a Enero 2014 (porque la variable vLastMonth1 se calcula con base en la variable vHoy, la cual trae hardcodeada la fecha del 21 de Enero de 2014 ). Sin embargo si haces selecciones en algún campo está fórmula ya no será exacta.

No sé cómo esté tu aplicación pero no recomiendo hardcodear ese tipo de variables porque limitan la forma en que se puede realizar el análisis. No obstante, me imagino que si estás seleccionado valores en el campo MesInicio, entonces ese campo es el que debemos ignorar, sería algo como:

=sum({<Condition={'CLOSED'}, MesAño ={'$(=vLastMonth1)'}, MesInicio=>}CaseCounter)


Espero que ayude, sino será más fácil que subas un ejemplo de tu app para entender mejor las circunstancias.

Not applicable
Author

Carlos; La selección inicial esta dada por AñoInicio y MesInicio que corresponde a las fechas de creación del caso.

Carlos_Reyes
Partner - Specialist
Partner - Specialist

Ok,

Retomando lo que dice el post inicial:

"teniendo seleccionado el MesFin (CLOSE_DATE) como hago para sumar en un objeto distinto los casos que solo fueron creados en el mes de diciembre?"


Entonces en lugar de ignorar el campo MesInicio debemos ignorar el campo MesFin. Intenta:


=sum({<Condition={'CLOSED'}, MesAño ={'$(=vLastMonth1)'}, MesFin=>}CaseCounter)


Not applicable
Author

Carlos; Viene por ahí el tema, voy a investigar bien porque no me da el numero que espero... Gracias por tu ayuda.