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
AlanRGroskreutz
Helper II
Helper II

DAX Media/recuento por hora de MOVIMIENTO

Hola a todos
I'm tener un tiempo terrible tratando de obtener mi filtro de intervalo de tiempo de trabajo para un conteo en movimiento. Estoy trabajando en un modelo de Predictor de Tráfico Aéreo que mostraremos la ocupación de los sectores del tráfico aéreo. El cliente quiere que estas cuentas de ocupación se reduzcan en intervalos de 20 minutos, pero para cada intervalo muestran el recuento de ese intervalo y los dos siguientes en el futuro (valor de una hora en total). Lo sé, tampoco tiene sentido para mí.

El problema es que sea cual sea la medida que trato de implementar, siempre sólo salgo con la cuenta para ese intervalo de 20 minutos o nada.

He probado esto:

rolling entry count = 
VAR HourFromNow = 
 NOW() + TIME(1;0;0)
VAR NextHour = 
FILTER(
 results;
 results[Entry 20 Minute date-time bin] <= HourFromNow
 )
VAR NextHourCount = 
 COUNTX(
  NextHour;
  REsults[Entry Time]
  )
RETURN
NextHourCount

de esta respuesta https://community.powerbi.com/t5/Desktop/Moving-Average-for-the-last-3-hours/m-p/980930/highlight/tr...>

Eso me da lo mismo que si hubiera escrito

COUNTX('Results'[Entry Time])


He intentado reemplazar NOW() por MAX(results[Entry 20 Minute date-time bin]) y los mismos resultados.

Quería incluir el archivo .pbix, pero no sé cómo, así que aquí hay una muestra de la tabla con las columnas pertinentes.

FechaSectorID de vueloHora de entradaEntrada 20 min binEntrada 20 min Bandeja de fecha sin fecha
04/05/2020 0:00GCACARR11899-12-30 07:46:451899-12-30 07:40:0004/05/2020 7:40
04/05/2020 0:00GCACARR11899-12-30 08:17:221899-12-30 08:00:0004/05/2020 8:00
04/05/2020 0:00GCACARR11899-12-30 10:10:401899-12-30 10:00:0004/05/2020 10:00
04/05/2020 0:00GCACARR11899-12-30 12:11:211899-12-30 12:00:0004/05/2020 12:00
04/05/2020 0:00GCACARR11899-12-30 15:08:051899-12-30 15:00:0004/05/2020 15:00
04/05/2020 0:00GCACARR11899-12-30 15:18:411899-12-30 15:00:0004/05/2020 15:00
04/05/2020 0:00GCACARR11899-12-30 15:44:221899-12-30 15:40:0004/05/2020 15:40
04/05/2020 0:00GCACARR11899-12-30 15:45:391899-12-30 15:40:0004/05/2020 15:40
04/05/2020 0:00GCACARR11899-12-30 16:03:091899-12-30 16:00:0004/05/2020 16:00
04/05/2020 0:00GCACARR11899-12-30 16:13:221899-12-30 16:00:0004/05/2020 16:00
04/05/2020 0:00GCACARR11899-12-30 16:22:421899-12-30 16:20:0004/05/2020 16:20
04/05/2020 0:00GCACARR11899-12-30 17:39:471899-12-30 17:20:0004/05/2020 17:20
04/05/2020 0:00GCACARR11899-12-30 18:02:581899-12-30 18:00:0004/05/2020 18:00
04/05/2020 0:00GCACARR11899-12-30 18:10:101899-12-30 18:00:0004/05/2020 18:00
04/05/2020 0:00GCACARR11899-12-30 18:31:461899-12-30 18:20:0004/05/2020 18:20
04/05/2020 0:00GCCAACC11899-12-30 08:07:361899-12-30 08:00:0004/05/2020 8:00
04/05/2020 0:00GCCAACC11899-12-30 11:55:101899-12-30 11:40:0004/05/2020 11:40
04/05/2020 0:00GCCAACC11899-12-30 14:58:181899-12-30 14:40:0004/05/2020 14:40
04/05/2020 0:00GCCAACC11899-12-30 15:08:441899-12-30 15:00:0004/05/2020 15:00
04/05/2020 0:00GCCAACC11899-12-30 15:35:061899-12-30 15:20:0004/05/2020 15:20
04/05/2020 0:00GCCAACC11899-12-30 15:54:171899-12-30 15:40:0004/05/2020 15:40

Cualquier ayuda es apreciada.

1 ACCEPTED SOLUTION
TaylorClark
Power BI Team
Power BI Team

@AlanRGroskreutz,avísame si esto es lo que estás buscando:

rolling entry count =
  var windowStart = SELECTEDVALUE(results[Entry 20 min Date time bin])
  var windowEnd = windowStart + TIME(0, 20, 0)
  return CALCULATE(
    COUNT(results[Entry Time]), // After we change filters, do our calculation
    FILTER( // Replace any existing filter on the [Entry 20 min Date tiem bin] column with one that looks at the period we want
      ALL(results[Entry 20 min Date time bin]), // Look through *all* values in the column, ignoring any existing filters
      [Entry 20 min Date time bin] >= windowStart && [Entry 20 min Date time bin] <= windowEnd // Keep those rows which are in our time range
  )
)

image.pngMatriz con resultados
La clave aquí es usar ALL para borrar las agrupaciones/filtros que se aplican para examinar las filas de la tabla que podrían filtrarse en el ámbito en el que se ejecuta la medida.

View solution in original post

5 REPLIES 5
TaylorClark
Power BI Team
Power BI Team

@AlanRGroskreutz,avísame si esto es lo que estás buscando:

rolling entry count =
  var windowStart = SELECTEDVALUE(results[Entry 20 min Date time bin])
  var windowEnd = windowStart + TIME(0, 20, 0)
  return CALCULATE(
    COUNT(results[Entry Time]), // After we change filters, do our calculation
    FILTER( // Replace any existing filter on the [Entry 20 min Date tiem bin] column with one that looks at the period we want
      ALL(results[Entry 20 min Date time bin]), // Look through *all* values in the column, ignoring any existing filters
      [Entry 20 min Date time bin] >= windowStart && [Entry 20 min Date time bin] <= windowEnd // Keep those rows which are in our time range
  )
)

image.pngMatriz con resultados
La clave aquí es usar ALL para borrar las agrupaciones/filtros que se aplican para examinar las filas de la tabla que podrían filtrarse en el ámbito en el que se ejecuta la medida.

@TaylorClark, Gracias amigo, eso fue todo. Había probado un filtro ALL antes, pero lo más probable es que lo arruinó porque no tengo nada.

Gracias por la respuesta rápida.

Ah, y el SELECTEDVALUE también era clave.

Lo siento @TaylorClark , encontré un problema, pero no con su código, con una suposición que había hecho. Estaba asumiendo que cada sector tendría al menos un vuelo entrando en él en cada período de 20 minutos, así que cuando estaba creando los bins de fecha y hora de 20 minutos, lo estaba basando en los horarios de entrada.

El problema que sucede es que para el recuento continuo si tiene un período que tiene 0 entradas, no solo usa cero para esa ubicación de 20 minutos y cuenta los dos siguientes, simplemente omite esa ubicación como si no existiera. ¿Voy a tener que crear una tabla bin de fecha y hora de 20 minutos para resolver esto?

Sí, hacer una mesa separada con todos los contenedores Date-Tim era la solución. A continuación, tuve que reemplazar las referencias de ubicación de fecha y hora 'result' por referencias a la nueva tabla.

Gracias de nuevo.

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.