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

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.

Reply
Anonymous
Not applicable

Promedio de 24 horas con datos de marca de tiempo

Hola a todos

Mis datos son aproximados de la siguiente manera:

Dataset          Obs Time Obs Value
name of station    dtg          mcgm/m3

Necesito crear un promedio móvil de 24 horas de Obs Value donde el conjunto de datos permanece igual, es decir, para cada estación de monitoreo (estos son datos de contaminación). Mi lógica es así:

Promedio de todos los valores obs para un único conjunto de datos en las 24 horas anteriores al tiempo de Obs (para crear una columna calculada adicional)

Hasta ahora, he probado varios enfoques, pero no puedo obtener mi sintaxis correcta. Las variantes DATEDIFF/DATEBETWEEN no parecen funcionar. He creado una cuarta columna llamada Obs Time-1 que resta 24 horas de Obs Time; por lo tanto lo que quiero es el promedio de:

- ObsValues

- Todo el conjunto de datos coincidente

- Todo dentro de Obs Time-1 to Obs Time.

Mi DAX actual (nota, he probado docenas de variantes) es el siguiente:

=CALCULATE(
AVERAGE(DATA_AIR_QUALITY[Value (Micrograms per Cubic Metres)]),
FILTER(DATA_AIR_QUALITY,
DATA_AIR_QUALITY[DataSet]=EARLIEST(DataSet]) // match the obs station
&& DATA_AIR_QUALITY[ObsTime]>EARLIEST(DATA_AIR_QUALITY[ObsTime-1]) // later than 24 hours previous
&& DATA_AIR_QUALITY[ObsTime]<EARLIEST(DATA_AIR_QUALITY[ObsTime]) // earlier than current stamp, but might be <=
)
)

2 REPLIES 2
amitchandak
Super User
Super User

@zhivana, intenta como


Nueva Columna (New Column)
AVERAGEX(FILTER(DATA_AIR_QUALITY,
DATA_AIR_QUALITY[DataSet]-earlier(DataSet]) // coinciden con la estación obs
&& DATA_AIR_QUALITY[ObsTime]>earlier(DATA_AIR_QUALITY[ObsTime])-1 // más tarde de 24 horas anteriores
&& DATA_AIR_QUALITY[ObsTime]<earlier(DATA_AIR_QUALITY[ObsTime]) // anterior al sello actual, pero podría ser <-
),DATA_AIR_QUALITY[Valor (microgramos por metro cúbico)])

nueva medida

•CALCULATE(
PROMEDIO(DATA_AIR_QUALITY[Valor (microgramos por metro cúbico)]),
FILTRO(DATA_AIR_QUALITY,
DATA_AIR_QUALITY[DataSet]-max(DataSet]) // coinciden con la estación obs
&& DATA_AIR_QUALITY[ObsTime]>-max(DATA_AIR_QUALITY[ObsTime])-1 // más tarde que 24 horas anteriores
&& DATA_AIR_QUALITY[ObsTime]<max(DATA_AIR_QUALITY[ObsTime]) // anterior al sello actual, pero podría ser <-
)
)

Anonymous
Not applicable

Hola


La solución sugerida no funcionó. Sin embargo, un compañero de trabajo se le ocurrió uno que hizo (no muy elegante, pero hizo el trabajo!) Aquí está:

= (CALCULATE(
SUM(DATA_AIR_QUALITY[Value (Micrograms per Cubic Metres)]),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[Date]=(EARLIEST(DATA_AIR_QUALITY[Date])-1)),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[DataSet]=EARLIEST(DATA_AIR_QUALITY[DataSet])),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[Time]>=EARLIEST(DATA_AIR_QUALITY[Time])))
+ CALCULATE(SUM(DATA_AIR_QUALITY[Value (Micrograms per Cubic Metres)]),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[Date]=EARLIEST(DATA_AIR_QUALITY[Date])),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[DataSet]=EARLIEST(DATA_AIR_QUALITY[DataSet])),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[Time]<EARLIEST(DATA_AIR_QUALITY[Time]))))/
(CALCULATE(COUNTROWS(DATA_AIR_QUALITY),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[Date]=(EARLIEST(DATA_AIR_QUALITY[Date])-1)),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[DataSet]=EARLIEST(DATA_AIR_QUALITY[DataSet])),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[Time]>=EARLIEST(DATA_AIR_QUALITY[Time])))
+ CALCULATE(COUNTROWS(DATA_AIR_QUALITY),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[Date]=EARLIEST(DATA_AIR_QUALITY[Date])),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[DataSet]=EARLIEST(DATA_AIR_QUALITY[DataSet])),
FILTER(DATA_AIR_QUALITY,DATA_AIR_QUALITY[Time]<EARLIEST(DATA_AIR_QUALITY[Time]))))

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.