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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors
Top Kudoed Authors