Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Comparar ventas actuales contr años anteriores

Buenas tardes

Pido su ayuda, tengo una aplicación en donde el usuario tiene que poder ver las Ventas totals de las siguiente forma:

  1. A la fecha se tiene la información de Marzo del 2017
  2. Tiene que ver la información de Marzo 2017 comparada con Marzo del 2016 y 2015
  3. Tiene que ver la información acumulada a Marzo 2017 comparada también con el mismo periodo del 2016 y 2015
  4. La información acumulada a Marzo 2017 contra el presupuesto del 2017 del mismo period
  5. Y la información a Marzo 2017 contra el presupuesto total del 2017

Los nombres de los campos que tengo para las ventas son AMOUNT y para el presupuesto es Budget y para la fechas DateFraud.

Ojalá puedan ayudarme

Gracias de antemano


1 Solution

Accepted Solutions
hector_munoz
Specialist
Specialist

Hola Víctor,

Te adjunto un ejemplo con algunas correcciones. Básicamente lo que he hecho ha sido meter el siguiente código en el análisis de conjuntos para que no tenga en cuenta las selecciones en el año y mes y de esta forma, que en los cálculos de los años anteriores cuadre bien:

=Sum({<[YearFraud]=,MesFraud=,[concat_mes_acc1]={$(vdAnyoMesSeleccionado)}>} AMOUNT*CambioMedio)

Te recomiendo que le eches un vistazo al análisis de conjuntos porque te va a ayudar mucho a la hora de implementar estas funcionalidades de años anteriores, acumulados, etc. que tienes en tu cuadro de mando.

Espero que te sirva.

Un saludo,
Héctor

View solution in original post

7 Replies
jolivares
Specialist
Specialist

Su puedes publicar un QVW con una porcion de los datos para poder ayudarte.

Basicamente esto la mejor forma de hacerlo es aplicando operaciones de conjunto.  Por ejemplo, si tienes una columna con el valor del año actual

Sum(ventas) : para 2017

Debes tener un campo que represente el año:

Sum({<ano={$(Max(ano)-1)}>} ventas) : para 2016 

Esto puede darte una idea de que hacer, pero es muy general

hector_munoz
Specialist
Specialist

Hola Víctor,

A ver si te sirve de ayuda... Imagina que tienes una pestaña donde el usuario selecciona solo la fecha mediante un campo [Año Mes] del tipo 'YYYYMM' (p.e. 201703 para marzo de 2017) y ha seleccionado 201703. Entonces:

Para calcular las ventas de marzo de 2017:

Sum({<[Año Mes]={$(vdAnyoMesSeleccionado)}>} AMOUNT)

, donde vdAnyoMesSeleccionado = Max([Año Mes])

Para calcular las ventas de marzo de 2016:

Sum({<[Año Mes]={$(vdAnyoMesSeleccionadoM12)}>} AMOUNT)

, donde vdAnyoMesSeleccionadoM12= Date(AddMonths(Date#(vdAnyoMesSeleccionado, 'YYYYMM'), -12), 'YYYYMM')

Para calcular las ventas de marzo de 2015:

Sum({<[Año Mes]={$(vdAnyoMesSeleccionadoM24)}>} AMOUNT)

, donde vdAnyoMesSeleccionadoM12= Date(AddMonths(Date#(vdAnyoMesSeleccionado, 'YYYYMM'), -24), 'YYYYMM')

Para calcular las ventas desde enero de 2017 hasta marzo de 2017:

Sum({<[Año Mes]={'>=$(vdAnyoMesSeleccionadoIni),<=$(vdAnyoMesSeleccionadoFin)'}>} AMOUNT)

, donde vdAnyoMesSeleccionadoIni = Date(MakeDate(Year(Date#(vdAnyoMesSeleccionado, 'YYYYMM'))), 'YYYYMM'); y vdAnyoMesSeleccionadoFin = Max([Año Mes])

Como comenta Juan, la forma más sencilla es utilizando análisis de conjuntos. En el manual de referencia hay muchos ejemplos y también en la QlikCommunity.

Espero que con esto puedas sacar el resto que necesitas.

Saludos,

H

Anonymous
Not applicable
Author

Muchas Gracias Héctor y Juan

Héctor usé tus formulas pero tengo un poco de problemas con los cálculos.

Me imagino que hay alguna cuestión con las variables para obtener los datos de fechas anteriores. La única formula que me da el resultado correcto es

Sum({<[Año Mes]={$(vdAnyoMesSeleccionado)}>} AMOUNT)

, donde vdAnyoMesSeleccionado = Max([Año Mes]).

El resto no me calcula nada.

Adjunto qvw !

hector_munoz
Specialist
Specialist

Hola Víctor,

Te adjunto un ejemplo con algunas correcciones. Básicamente lo que he hecho ha sido meter el siguiente código en el análisis de conjuntos para que no tenga en cuenta las selecciones en el año y mes y de esta forma, que en los cálculos de los años anteriores cuadre bien:

=Sum({<[YearFraud]=,MesFraud=,[concat_mes_acc1]={$(vdAnyoMesSeleccionado)}>} AMOUNT*CambioMedio)

Te recomiendo que le eches un vistazo al análisis de conjuntos porque te va a ayudar mucho a la hora de implementar estas funcionalidades de años anteriores, acumulados, etc. que tienes en tu cuadro de mando.

Espero que te sirva.

Un saludo,
Héctor

ger_alegria
Partner - Creator
Partner - Creator

La forma para hacer estos cálculos es utilizando Set Analysis.

Si quieres comparas contra años anteriores puedes utilizar algo como o siguiente:

Sum({<Año={$(Max(Año))}>} ventas)

-

Sum({<Año={$(Max(Año)-1)}>} ventas)


Para dos Años anteriores:


Sum({<Año={$(Max(Año))}>} ventas)

-

Sum({<Año={$(Max(Año)-2)}>} ventas)


Para la comparación de las ventas acumuladas vs el presupuesto:


Sum({<Año={$(Max(Año)), Mes = {">=1<=Max(Mes)"}}>} ventas)

-

Sum({<Año={$(Max(Año)), Mes = {">=1<=Max(Mes)"}}>} Presupuesto)


Y así con el resto de las métricas

Anonymous
Not applicable
Author

Mil gracias a todos, la solución que me dan es la correcta.

de nuevo, muy agradecido

hector_munoz
Specialist
Specialist

A ti, Víctor. Si entiendes, y luego dominas, el análisis de conjuntos vas a poder hacer cuadros de mando con esta comparativa tan potente entre períodos. Raro es el proyecto en el que no interesen este tipos de comparativas.

Saludos,

H