Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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_NUMBER | CREATED_DATE | CLOSED_DATE | CONDITION |
---|---|---|---|
112 | 02-Dec-2013 | 03-Dec-2013 | CLOSED |
113 | 06-Dec-2013 | OPEN | |
114 | 13-Nov-2013 | 08-Dec-2013 | CLOSED |
115 | 18-Dec-2013 | 05-Jan-2014 | CLOSED |
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...
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)
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.
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.
Carlos; La selección inicial esta dada por AñoInicio y MesInicio que corresponde a las fechas de creación del caso.
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)
Carlos; Viene por ahí el tema, voy a investigar bien porque no me da el numero que espero... Gracias por tu ayuda.