Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
Support Case Portal has moved to Qlik Community! Read the FAQs to start exploring Support resources.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Fecha actual y fecha anterior

Hola a todos!

Que funcion puedo utilizar para calcular en grafico de tabla lo siguiente:

En una columna debe ser la suma  del mes actual : sum(Cantidad) y

En la otra columna debe ser la suma del mes anterior: sum(Cantidad)

El formato del campo fecha es dd/mm/aaaa

Mil gracias.!!

1 Solution

Accepted Solutions
CarlosAMonroy
Creator III
Creator III

Hola Carlos,

Puedes utilizar set analysis en tus expresiones.

Por ejemplo para el mes actual seria algo como:

sum({< CampoFecha = {">=$(=Date(MonthStart(Today()),'DD/MM/YYYY'))<=$(=Date(MonthEnd(Today()),'DD/MM/YYYY'))"} >}Cantidad)

Para el mes anterior:

sum({< CampoFecha = {">=$(=Date(makedate(year(Today()),Month(Today())-1),'DD/MM/YYYY'))<=$(=Date(MonthEnd(makedate(year(Today()),Month(Today()-1)),'DD/MM/YYYY'))"} >}Cantidad)


Saludos,

Carlos M

View solution in original post

8 Replies
CarlosAMonroy
Creator III
Creator III

Hola Carlos,

Puedes utilizar set analysis en tus expresiones.

Por ejemplo para el mes actual seria algo como:

sum({< CampoFecha = {">=$(=Date(MonthStart(Today()),'DD/MM/YYYY'))<=$(=Date(MonthEnd(Today()),'DD/MM/YYYY'))"} >}Cantidad)

Para el mes anterior:

sum({< CampoFecha = {">=$(=Date(makedate(year(Today()),Month(Today())-1),'DD/MM/YYYY'))<=$(=Date(MonthEnd(makedate(year(Today()),Month(Today()-1)),'DD/MM/YYYY'))"} >}Cantidad)


Saludos,

Carlos M

View solution in original post

Not applicable
Author

Mil gracias

Not applicable
Author

Hola Carlos,

Tengo una duda parecida, que no soy capaz de resolver

He creado el siguiente gráfico de tiempos:

grafico de tiempos.JPG

Quiero comparar un mes contra el mes anterior y que me sume un derminado campo, si bien lo consigo para Enero 2017, los datos que figuran de Dic 2016 son los de Enero 2017 y no se como referenciarlos a los de su mes...

Las expresiones de mis etiquetas son:

Ene. 2017

=MonthName (SetDateYear (DATE, (Year (DATE))), 0)

Dic. 2016

=MonthName (SetDateYear (DATE, (Year (DATE))), -1)

Las expresiones para mis valores son:

Esta me ha cargado por defecto al hacer el gráfico de tiempos:

Para Ene 2016: Correcta aunque no entiendo porque utiliza la función máximo

=SUM(if (InMonth (DATE, SetDateYear (DATE, max (total Year (DATE), 0)), 0), [VOLUMEN TRANSACIONES]))

Para Dic 2015: Incorrecta xq me coge los datos de Ene 2017

=SUM(if (InMonth (DATE, SetDateYear (DATE, max (total Year (DATE), -1)), 0), [VOLUMEN TRANSACIONES]))

¿Cómo podría resolverlo?

CarlosAMonroy
Creator III
Creator III

Hola Daniel,

Podrias resolverlo utilizando la misma logica del set anaysis de la pregunta previa.

Para comparar años es comun utilizar set analysis en lugar de condiciones if.

Saludos,

Carlos

Not applicable
Author

Vale hago lo que me comentas y la fórmula queda asi:

En date tengo el Mes y el año: como por ejemplo Jun 16

PARA MES ACTUAL:

sum({$<DATE={'<=$(=max(DATE))>=$(=addmonths(max(DATE),0))'} >} VOLUMEN TRANSACIONES)

PARA MES ANTERIOR:

sum({$<DATE={'<=$(=max(DATE))>=$(=addmonths(max(DATE),-1))'} >} VOLUMEN TRANSACIONES)

Pero me devuelve todo 0. ¿Cómo puedo solucionarlo?

Muchisimas gracias por tu ayuda.

Not applicable
Author

También me devuelve 0.

PERIODO_FE : contiene datos asi: 201612, 201701, 201702, 201703.

[VALOR FE KILO]: cantidades a sumar

en este caso requiero sumar el mes actual vs. el anterior

ej: 201612 vs. 201701

lo tengo asi pero me devuelve 0

sum({$<PERIODO_FE={'<=$(=max(DATE))>=$(=addmonths(max(DATE),-1))'} >} [VALOR FE KILO])

tengo algo malo?

gracias.

CarlosAMonroy
Creator III
Creator III

La formula que utilice antes es teniendo un formato fecha de DD/MM/YYYY, para los ejemplos que me comentan seria utilizando formato MMM YY, y para ti Carlos YYYYMM.

sum({< CampoFecha = {">=$(=MonthName(MonthStart(Today())))<=$(=MonthName(MonthEnd(Today()))"} >}Cantidad)

Para el mes anterior:

sum({< CampoFecha = {">=$(=MonthName(makedate(year(Today()),Month(Today())-1)))<=$(=MonthName(MonthEnd(makedate(year(Today()),Month(Today()-1))))"} >}Cantidad)

Carlos M

hutchinsonbss
Contributor II
Contributor II

Hola Carlos

 

Después de dar 1000 vueltas, esta fórmula tuya ha sido la única que he conseguido que me funcione para sumar el mes en curso. La del mes anterior no me funciona

Creo que debo tener algún problema con el formato de las fechas, y solo esta ha conseguido que funcione.

 

En el script de carga tengo declarada la fecha asi

             Date (Date#([Fecha], 'DD-MM-YYYY) ) As [Fecha]   Esto lo hace solo al cargar una consulta de mysql

En definitiva quiero un cuadro dashboard que no tiene intervención de la gente, y que debe dar sumas acumuladas del mes en curso y del día de ayer

Como podría hacer lo mismo pero para sumar el día de ayer ?