Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
Syndicate_Admin
Administrator
Administrator

Filtrar un objeto visual por el mismo mes en los últimos 3 años

Hola a todos, tengo una medida (número de unidades vendidas por mes), tabla de fechas (año fiscal) y un gráfico de columnas agrupadas.

Ventas minoristas mensuales = CALCULATE(DISTINCTCOUNT(SalesTable[salesID]),TREATAS(VALUES(DateTable[cal_date]),SalesTable[sold_date]))

La tabla de fechas contiene la fecha del calendario, el número de mes, el nombre del mes, el año y una diferencia de mes (por ejemplo, el mes anterior es -1, el mes anterior un año después es -13, etc.).

Para mostrar solo el mismo mes en los últimos tres años (por ejemplo, agosto'23, agosto'22, agosto'21), solía hacerlo usando el filtro visual básico (diferencia de mes = -1 o -13 o -25).

Ahora, agregué la segmentación de datos donde el usuario coloca la fecha máxima del calendario (por ejemplo, 01.05.2023).

Necesito el visual para mostrar el último mes completado y el mismo mes del año pasado y hace dos años (abril'23, abril'22, abril'21).

Estaba tratando de aplicar el filtro visual Top N, pero no puedo encontrar la manera de maximizar el valor de April'22 por encima de June'23 ("mostrar los 3 valores principales").

¿Hay alguna forma de ajustar la medida para mostrar solo esos 3 meses? ¿O hay alguna manera de hacerlo en el filtro Top N? Estaba tratando de agregar el filtro a la medida (por ejemplo, aquí solo para mostrar el último mes), pero no tuvo éxito.

Prueba =
DÓNDE last_month = ..MAX(DateTable[MO_DIFF])
DEVOLUCIÓN SI(
last_month > -1,
ESPACIO EN BLANCO(),
CALCULAR(
[Ventas minoristas mensuales],
DateTable[MO_DIFF] = last_month
)
)
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Logré resolver el problema.

El problema era que mi medida MAX (Date) no funcionaba como una variable porque no tenía una conexión adecuada a la segmentación de datos. El valor seleccionado() tampoco funcionó debido a la segmentación de datos "fecha entre".

Esta es la solución, funciona perfectamente:

Ventas minoristas mensuales =
DÓNDE max_selected_mo_diff = MAXX(TODOSELECCIONADO(Tabla de fechas), DateTable[MO_DIFF])
DÓNDE max_selected_mo_diff_LY = max_selected_mo_diff - 12
DÓNDE max_selected_mo_diff_LY2 = max_selected_mo_diff - 24
DÓNDE setx = {max_selected_mo_diff, max_selected_mo_diff_LY, max_selected_mo_diff_LY2}
DEVOLUCIÓN CALCULAR(
[Ventas minoristas mensuales],
FILTRO(Tabla de fechas, DateTable[MO_DIFF] EN setx))
¡Gracias por su tiempo!

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Logré resolver el problema.

El problema era que mi medida MAX (Date) no funcionaba como una variable porque no tenía una conexión adecuada a la segmentación de datos. El valor seleccionado() tampoco funcionó debido a la segmentación de datos "fecha entre".

Esta es la solución, funciona perfectamente:

Ventas minoristas mensuales =
DÓNDE max_selected_mo_diff = MAXX(TODOSELECCIONADO(Tabla de fechas), DateTable[MO_DIFF])
DÓNDE max_selected_mo_diff_LY = max_selected_mo_diff - 12
DÓNDE max_selected_mo_diff_LY2 = max_selected_mo_diff - 24
DÓNDE setx = {max_selected_mo_diff, max_selected_mo_diff_LY, max_selected_mo_diff_LY2}
DEVOLUCIÓN CALCULAR(
[Ventas minoristas mensuales],
FILTRO(Tabla de fechas, DateTable[MO_DIFF] EN setx))
¡Gracias por su tiempo!
Syndicate_Admin
Administrator
Administrator

Proporcione datos de muestra (con información confidencial eliminada) que cubran su problema o pregunta por completo, en un formato utilizable (no como una captura de pantalla). Omita cualquier cosa que no esté relacionada con el problema.
https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
Muestre el resultado esperado en función de los datos de muestra que proporcionó.

https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...

Syndicate_Admin
Administrator
Administrator

Hola Ibendlin, gracias por tu respuesta!

Desafortunadamente, cualquiera que sea la lógica que aplique (ya sea el número de mes o la diferencia de mes anterior), las medidas no funcionan:

Test_Month =
DÓNDE _MaxDate = ..MAX(Tabla de fechas[cal_date])
DÓNDE MesNum = CALCULAR(
FIRSTNONBLANK(Tabla de fechas[MonoNum], VERDADERO()),
FILTRO(TODO (Tabla de fechas), Tabla de fechas[cal_date] = _MaxDate))
DEVOLUCIÓN CALCULAR ([Ventas minoristas mensuales], Tabla de fechas[MonoNum] == MesNum)
Ahora, si reemplazo MonthNum en el RETURN con cualquier número, funciona perfectamente.
La variable en sí también funciona, es solo que no funciona en el filtro en Return. ¿Alguna idea por qué?
Syndicate_Admin
Administrator
Administrator

En su medida, obtenga la fecha máxima del calendario (según la selección de la segmentación de datos) y luego filtre su tabla de hechos por MES([fecha de hecho])=MES(maxcaldate), etc.

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Power BI Header Change

Power BI Header Update

Read about the exciting updates for the Power BI forum.

Top Solution Authors