Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas tardes
Pido su ayuda, tengo una aplicación en donde el usuario tiene que poder ver las Ventas totals de las siguiente forma:
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
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
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
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
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 !
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
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
Mil gracias a todos, la solución que me dan es la correcta.
de nuevo, muy agradecido
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