Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Agrupación por meses

Buenos Dias

tengo problemas con un gráfico de dos dimensiones, Año y Mes. Cada mes tiene una fecha de inicio y de fin y a partir de ahi se calcula lo siguiente:

=(Sum({$<Concepto={1}, [Fecha de Albaran] ={"<=$(=Date(vHasta)) >=$(=Date(vDesde))"}>}Importe)

-

Sum({$<Concepto={1}, [Fecha de Albaran] ={"<=$(=Date(vHastaReferencia)) >=$(=Date(vDesdeReferencia))"}>}Importe))

/

Sum({$<Concepto={1}, [Fecha de Albaran] ={"<=$(=Date(vHastaReferencia)) >=$(=Date(vDesdeReferencia))"}>}Importe)

Todo funciona correctamente si selecciono un mes, pero si no selecciono un mes me muestra en todos los meses el mismo valor.

Como puedo hacer para que se me calcule mes a mes.

Muchas gracias

13 Replies
fdelacal
Specialist
Specialist

Puedes poner un qvw, con las variables y los campos correspondientes?

Saludos

Not applicable
Author

Voy a intentar explicarlo ya que el qwd tiene datos que la empresa no me deja mostrar, si no consigo explicarme generare uno reducido.

Tengo una tabla con los campos Mes, Año, Semana, FechaIni y FechFin. Cada mes tiene unas semanas dadas que no coinciden con las que devuelve la función Week().

La variables guardan FechaIni y FechaFin la más pequeña de la FechaIni y la mayor de la FechaFin. Puede ser que por aquí venga el problema. Porque si no selecciono ningun mes, me coge la primera de Enero y la última de Diciembre, pero si no pongo Max() y Min() no calcula nada.

Saludos

Not applicable
Author

Las variables son:

vDesde= Min(Date(FechaIni))

vHasta= Max(Date(FechaFin))

vDesdeReferencia= date(vDesde-364)

vHastaReferencia= date(vHasta-364)

La Tabla es:

Load * Inline

[Mes, Semana, Año, FechaIni, FechaFin

Enero,1,2013,31/12/2012, 06/01/2013

Enero,2,2013,07/01/2013, 13/01/2013

Enero,3,2013,14/01/2013, 20/01/2013

Enero,4,2013,21/01/2013, 27/01/2013

.

.

.

fdelacal
Specialist
Specialist

Prueba a ver asi..

de todos modos para comprobar puedes crear un objeto de texto con

='>='& Date(vDesde)&'<='&Date(vHasta)

de este manera ves lo que estas seleccionando!

[Fecha de Albaran] = {"$(='>='& Date(vDesde)&'<='&Date(vHasta)"}

[Fecha de Albaran] = {"$(='>='& Date(vDesdeReferencia)&'<='&Date(vHastaReferencia)"}

Espero que sea esto lo que necesitas saludos.

Not applicable
Author

El problema lo tengo cuando selecciono mas de un mes, es decir si yo selecciono Enero, vDesde=31/12/2012 y vHasta=27/01/2013.

Si selecciono Enero y Febrero, vDesde=31/12/2012 y vHasta=24/02/2013.

Lo que no se es como hago para que me calcule Enero por un lado con vDesde=31/12/2013 y vHasta=27/01/2013

y Febrero por otro con vDesde=28/01/2013 y vHasta=24/02/2013.

Aquí es donde tengo el problema, no se como separar los calculos mensuales, me los hace globales.

No se si me he explicado.

Saludos

fdelacal
Specialist
Specialist

asi puedes calcular por el comienzo y el final de cada variable.

='>='& MonthStart(date(vDesde)&'<='&MonthEnd(date(vDesde)

='>='& MonthStart(date(vHasta)&'<='&MonthEnd(date(vHasta)

no se si este te ayuda mucho(esto en 3 mese no te funcionaria, podrias hacer una variable que sea vHOY, day(today())

de esta manera podrias calcular,

mes actual= {"$(='>='& MonthStart(date(vHOY),0)&'<='&MonthEnd(date(vHOY),0))"}

mes anterior = {"$(='>='& MonthStart(date(vHOY),-1)&'<='&MonthEnd(date(vHOY),-1))"}

menos 2 meses = {"$(='>='& MonthStart(date(vHOY),-2)&'<='&MonthEnd(date(vHOY),-2))"}

Un saludo

Not applicable
Author

No funciona de las formas que me indicas.

Seguiremos buscando alternativas.


Gracias y saludos

fdelacal
Specialist
Specialist

Si puedes sube un ejemplo solo con eso datos, a ver si te puedo ayudar!

saludos

Not applicable
Author

Subo archivo