Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
rodri_morales
Creator II
Creator II

Mes anterior

Buen día a todos, tengo una consulta, tengo un objeto de texto que me suma importes, de acuerdo al mes que selecciono me muestra el total del importe. Lo que quería hacer es otro cuadro de texto que me muestre el importe del mes anterior. Como lo puedo hacer?

1 Solution

Accepted Solutions
mbernales
Contributor III
Contributor III

Hola Rodrigo,

Una forma de resolverlo es a través de SET ANALISIS (Análisis de conjuntos).

Primero se define algún campo que permita realizar el filtro necesario, en este caso la fecha nos permite calcular una llave que indique en que mes estamos parados haciendo el análisis.

YEAR(Fecha)&NUM(MONTH(Fecha),'00')     AS PeriodoNum

Teniendo este campo, dentro de nuestra nube de datos, se puede proceder a realizar la expresión con el filtro.

Supongamos que la expresión que calcula las ventas del mes en curso, tiene la siguiente formula:

Sum(Venta)

Entonces, para calcular las ventas del mes anterior se va ocupar un SET ANALISIS con una variable dinámica.

{1<PeriodoNum={$(=YEAR(AddMonths(max(Fecha),-1))&NUM(Month(AddMonths(max(Fecha),-1)),'00'))}>}

En el presente ejemplo se calcula la variable en la misma expresión, pero se puede externalizar para optimizar el cálculo.

Debería quedar de esta forma

SUM({1<PeriodoNum={$(=YEAR(AddMonths(max(Fecha),-1))&NUM(Month(AddMonths(max(Fecha),-1)),'00'))}>} Venta)

Espero que te sirva el ejemplo

Saludos

Manuel

View solution in original post

4 Replies
jolivares
Specialist
Specialist

Lo mejor para mostrar valores en objetos tipo texto es usar set analysis.

Mes Actual = Sum({<Ano={$(=Max(Ano)), Mes={$(=Max(Mes))}>} Ventas)

Mes Anterior = Sum({<Ano={$(=Max(Ano))}, Mes={$(=Max(Mes)-1)>} Ventas)

Esto asumiendo que ya tienes un campo definido com Ano y Mes.  De lo contrario envia un QVW con algunos datos de los quieres hacer para ayudarte.

rodri_morales
Creator II
Creator II
Author

Tengo creado los campos mes y anio de la siguiente forma:

year(FechaVto) as AnioVto

month(FechaVto) as MesVto

Lo hice tal cual me dijiste, reemplazando 'Ano' por AnioVto y 'Mes' por MesVto, pero me da error.

La idea es que cuando seleccione un mes, me de la suma de las ventas de ese mes y las del mes anterior

mbernales
Contributor III
Contributor III

Hola Rodrigo,

Una forma de resolverlo es a través de SET ANALISIS (Análisis de conjuntos).

Primero se define algún campo que permita realizar el filtro necesario, en este caso la fecha nos permite calcular una llave que indique en que mes estamos parados haciendo el análisis.

YEAR(Fecha)&NUM(MONTH(Fecha),'00')     AS PeriodoNum

Teniendo este campo, dentro de nuestra nube de datos, se puede proceder a realizar la expresión con el filtro.

Supongamos que la expresión que calcula las ventas del mes en curso, tiene la siguiente formula:

Sum(Venta)

Entonces, para calcular las ventas del mes anterior se va ocupar un SET ANALISIS con una variable dinámica.

{1<PeriodoNum={$(=YEAR(AddMonths(max(Fecha),-1))&NUM(Month(AddMonths(max(Fecha),-1)),'00'))}>}

En el presente ejemplo se calcula la variable en la misma expresión, pero se puede externalizar para optimizar el cálculo.

Debería quedar de esta forma

SUM({1<PeriodoNum={$(=YEAR(AddMonths(max(Fecha),-1))&NUM(Month(AddMonths(max(Fecha),-1)),'00'))}>} Venta)

Espero que te sirva el ejemplo

Saludos

Manuel

rodri_morales
Creator II
Creator II
Author

Lo hice como me indicaste y funciono perfecto!

Estaba buscando una solución mediante la creación de alguna variable y utilizando set analysis, pero no pude.

Muchísimas gracias por la ayuda!

EDIT

Una consulta mas, si quiero calcular el stock mediante el total de unidades menos las vendidas, para que vaya cambiando con el tiempo quiero hacer que sean todas las unidades menos las vendidas hasta ese periodo de tiempo. Tengo dos cuadros, en uno selecciono el anio y en otro el mes. Usando set analysis, como puedo hacer para contar las ventas anteriores al anio y mes seleccionado?