Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos
Tengo dos imágenes de tarjetas y un ajuste de salida "después" en mi informe. Cuando establece la segmentación de fecha en un día determinado, una de las tarjetas muestra el promedio mensual de los usuarios totales antes de la fecha seleccionada y la otra tarjeta muestra el promedio mensual de los usuarios totales desde la fecha seleccionada.
La medida "desde" tiene este aspecto:
Ahora estoy tratando de cambiar la medida "antes" para que sólo tome la media de la misma cantidad de tiempo que lo haría la medida "después". Así, por ejemplo, si mi segmentación de fecha se establece en 10 de septiembre de 2020, entonces mi segmentación 'después' promediará el total de usuarios de 3 meses hasta la fecha de hoy (septiembre <10 septiembre en adelante>, octubre, noviembre - 68 días). En este caso, me gustaría que mi cortadora antes sólo promediar el total de usuarios de 3 meses antes del 10 de septiembre (septiembre <antes del 10 de septiembre>, agosto, julio <4 Juls en adelante> - 68 días) en lugar de promediar todos los meses anteriores al 10 de septiembre.
Esencialmente, me gustaría que el promedio 'antes' siempre se basa en la misma cantidad de tiempo que el promedio posterior, que es Fecha de hoy - Fecha filtrada.
Espero que lo haya explicado bien - No creo que sea demasiado complejo, pero no puedo averiguar cómo hacerlo. ¡Muchas gracias por cualquier ayuda de antemano!
Solved! Go to Solution.
Hola, @rginny_
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Calendario (una tabla calculada):
Calendar = CALENDAR(DATE(2019,1,1),DATE(2020,12,31))
No hay ninguna relación entre tablas. Puede crear dos medidas como se indica a continuación.
Before Measure=
var selecteddate = SELECTEDVALUE('Calendar'[Date])
var diff = TODAY()-selecteddate
var beforedate = selecteddate-diff
return
AVERAGEX(
FILTER(
ALL('Table'),
[Date]>=beforedate&&
[Date]<=selecteddate
),
[Value]
)
Since Measure =
var selecteddate = SELECTEDVALUE('Calendar'[Date])
return
AVERAGEX(
FILTER(
ALL('Table'),
[Date]>=selecteddate&&
[Date]<=TODAY()
),
[Value]
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @rginny_
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Calendario (una tabla calculada):
Calendar = CALENDAR(DATE(2019,1,1),DATE(2020,12,31))
No hay ninguna relación entre tablas. Puede crear dos medidas como se indica a continuación.
Before Measure=
var selecteddate = SELECTEDVALUE('Calendar'[Date])
var diff = TODAY()-selecteddate
var beforedate = selecteddate-diff
return
AVERAGEX(
FILTER(
ALL('Table'),
[Date]>=beforedate&&
[Date]<=selecteddate
),
[Value]
)
Since Measure =
var selecteddate = SELECTEDVALUE('Calendar'[Date])
return
AVERAGEX(
FILTER(
ALL('Table'),
[Date]>=selecteddate&&
[Date]<=TODAY()
),
[Value]
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @rginny_ , se deduce de su descripción que Dates[Date] se extiende desde 2020/7/4 hasta hoy (2020/11/17), ¿no? Es posible que desee probar una medida aprovechando alguna función de inteligencia de tiempo en DAX,
TUAvg Before =
VAR __period =
DATESBETWEEN (
Dates[Date],
STARTOFMONTH ( DATEADD ( Dates[Date], -2, MONTH ) ),
MAX ( Dates[Date] ) - 1
)
RETURN
AVERAGEX ( [total users], __period )
y en consecuencia,
TUAvg Since =
VAR __period =
DATESBETWEEN (
Dates[Date],
MAX ( Dates[Date] ) + 1,
ENDOFMONTH ( DATEADD ( Dates[Date], 2, MONTH ) )
)
RETURN
AVERAGEX ( [total users], __period )
Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
HI @rginny_ - ¿Puede publicar algunos datos para explicar más?
y también cuál es su resultado esperado?
También pruebe una semana menor en su medida y compare los resultados:
TUAvg Before =
CALCULATE (
AVERAGEX ( SUMMARIZE ( dates, dates[Month] ), [Total Users] ),
FILTER (dates, dates[date] < MIN ( dates[date] ) )
)
Si esto no resuelve el propósito, por favor publique datos.
Salud
-Namish B
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |