cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

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
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors