Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

Datos de downsampling

Hola a todos

Quiero reducir mi muestra de datos de cada segundo a cada minuto/hora. He dividido la fecha y la hora de DateTime e intenté agruparla por minuto / hora, pero no puedo averiguar cómo seleccionar, digamos, los datos de las 12:00:00 a.m. en los datos de 12:00:00 p.m. a 12:00:59 p.m., y cada minuto de datos después. Solo quiero sacar un dato en un intervalo fijo sin la necesidad de sumar, promediar o hacer cualquier otra operación para mostrarse en el visual.

DateTimeFechaHoraminhoraSensorValor
08/01/2021 12:00:00 pm1/8/202112:00:00 pm012A843
08/01/2021 12:00:01 pm1/8/202112:00:01 pm012A994
08/01/2021 12:00:02 pm1/8/202112:00:02 pm012A994
.....................
08/01/2021 12:00:03 pm1/8/202112:00:59 pm012A873
08/01/2021 12:01:00 pm 1/8/202112:01:00 pm112A692
......... ......
08/01/2021 13:00:00 1/8/202113:00:00013A899

Cualquier ayuda o consejo será apreciado, gracias

  • No @JrKoh,

    Puede crear una columna calculada como

    Time = TIME(HOUR([DateTime]),MINUTE([DateTime]),0)

    2.png

    Saludos

    Esteban Tao

    Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    Hola Stephen,

    Con su solución en mente, encontré una manera de reducir la muestra de los datos. Creé 2 columnas calculadas, Time_1min y Time_H y escribí otra medida DAX y la puse en el filtro del gráfico. Luego introduzco el número en el filtro para determinar qué muestreo:

    Muestra descendente =
    INTERRUPTOR(
    VERDADERO(),
    SUMA(Sensor[Tiempo]) == SUMA(Sensor[Time_H]),1,
    SUMA(Sensor[Tiempo]) == SUMA(Sensor[Time_1min]),3
    )

    JrKoh_1-1641449400159.png
    por hora
    JrKoh_3-1641449500205.png

    por min

3 Replies

  • No @JrKoh,

    Puede crear una columna calculada como

    Time = TIME(HOUR([DateTime]),MINUTE([DateTime]),0)

    2.png

    Saludos

    Esteban Tao

    Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Hola @v-stephen-msft ,

      Gracias por su respuesta. Pido disculpas por haber olvidado mencionar que tiene que ser trazado en un gráfico de líneas. He implementado su solución y para los filtros visuales puedo ver que se puede filtrar por minuto. Pero todavía no puedo sacar un solo punto de datos de los 60 (s) en un minuto y el gráfico todavía está granulado y no muestra el único punto de datos filtrado.

      La siguiente imagen muestra que durante un período de 4 minutos desde las 12:00:00 p.m. hasta las 12:03:59 p.m., los 240 puntos de datos se trazan después del filtro:

      JrKoh_2-1634797273590.png

      Lo que necesito mostrar son solo los 4 puntos, 12:00:00pm, 12:01:00pm, 12:02:00pm, 12:03:00pm:

      JrKoh_3-1634797315581.png

      Hay una forma de hacerlo a través del filtro comprobando manualmente todos los puntos de datos a trazar pero no es factible:

      JrKoh_4-1634797690848.png

      ¿Cómo lo hago?

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Hola Stephen,

      Con su solución en mente, encontré una manera de reducir la muestra de los datos. Creé 2 columnas calculadas, Time_1min y Time_H y escribí otra medida DAX y la puse en el filtro del gráfico. Luego introduzco el número en el filtro para determinar qué muestreo:

      Muestra descendente =
      INTERRUPTOR(
      VERDADERO(),
      SUMA(Sensor[Tiempo]) == SUMA(Sensor[Time_H]),1,
      SUMA(Sensor[Tiempo]) == SUMA(Sensor[Time_1min]),3
      )

      JrKoh_1-1641449400159.png
      por hora
      JrKoh_3-1641449500205.png

      por min