Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

How To Create Measures Over Hours

Hello,

 

I have read through many of the other messages, but I can't seem to get this one to work.

I have sensor data (Please, find it posted) and want to create two measures over 24 hours:

1-) The first measure is a rolling a verage of sensor values over 24 hours 

2-) The second measure is a count of the sensor values 24 hours rolling average which exceeded 4. That is, I want to count only those sensor values of the newly created measure that exceeded 4. If there is no exceedance, it should return 0. 

 

Thank you πŸ™‚


Date /Time          Sensor Values 

01.01.2021 00:000,38
01.01.2021 01:000,30
01.01.2021 02:000,30
01.01.2021 03:000,31
01.01.2021 04:000,31
01.01.2021 05:000,32
01.01.2021 06:000,32
01.01.2021 07:000,31
01.01.2021 08:000,31
01.01.2021 09:000,31
01.01.2021 10:000,30
01.01.2021 11:000,31
01.01.2021 12:000,31
01.01.2021 13:000,32
01.01.2021 14:000,33
01.01.2021 15:000,33
01.01.2021 16:000,34
01.01.2021 17:000,33
01.01.2021 18:000,33
01.01.2021 19:000,34
01.01.2021 20:000,35
01.01.2021 21:000,35
01.01.2021 22:000,34
01.01.2021 23:000,34
02.01.2021 00:000,34
02.01.2021 01:000,33
02.01.2021 02:000,33
02.01.2021 03:000,32
02.01.2021 04:000,32
02.01.2021 05:000,32
02.01.2021 06:000,33
02.01.2021 07:000,34
02.01.2021 08:000,34
02.01.2021 09:000,34
02.01.2021 10:000,35
02.01.2021 11:000,35
02.01.2021 12:000,35
02.01.2021 13:000,35
02.01.2021 14:000,35
02.01.2021 15:000,37
02.01.2021 16:000,37
02.01.2021 17:000,37
02.01.2021 18:000,37
02.01.2021 19:000,35
02.01.2021 20:000,36
02.01.2021 21:000,36
02.01.2021 22:000,36
02.01.2021 23:000,35
03.01.2021 00:000,34
03.01.2021 01:000,35
03.01.2021 02:000,35
03.01.2021 03:000,35
03.01.2021 04:000,33
03.01.2021 05:000,32
03.01.2021 06:000,33
03.01.2021 07:000,33
03.01.2021 08:000,31
03.01.2021 09:000,30
03.01.2021 10:000,29
03.01.2021 11:000,30
03.01.2021 12:000,29
03.01.2021 13:000,29
03.01.2021 14:000,29
03.01.2021 15:000,30
03.01.2021 16:000,29
03.01.2021 17:000,30
03.01.2021 18:000,29
03.01.2021 19:000,29
03.01.2021 20:000,29
03.01.2021 21:000,29
03.01.2021 22:000,28
03.01.2021 23:000,28
04.01.2021 00:000,28
04.01.2021 01:000,27
04.01.2021 02:000,26
04.01.2021 03:000,27
04.01.2021 04:000,27
04.01.2021 05:000,29
04.01.2021 06:000,30
04.01.2021 07:000,31
04.01.2021 08:000,32
04.01.2021 09:000,32
04.01.2021 10:000,32
04.01.2021 11:000,33
04.01.2021 12:000,32
04.01.2021 13:000,33
04.01.2021 14:000,43
04.01.2021 15:000,34
04.01.2021 16:000,34
04.01.2021 17:000,32
04.01.2021 18:000,31
04.01.2021 19:000,31
04.01.2021 20:000,28
04.01.2021 21:000,29
04.01.2021 22:000,29
04.01.2021 23:000,29
05.01.2021 00:000,51
05.01.2021 01:000,28
05.01.2021 02:000,29
05.01.2021 03:000,29
05.01.2021 04:000,30
05.01.2021 05:000,30
05.01.2021 06:000,31
05.01.2021 07:000,31
05.01.2021 08:000,32
05.01.2021 09:000,32
05.01.2021 10:000,31
05.01.2021 11:000,31
05.01.2021 12:000,31
05.01.2021 13:000,30
05.01.2021 14:000,30
05.01.2021 15:000,33
05.01.2021 16:000,32
05.01.2021 17:000,33
05.01.2021 18:000,33
05.01.2021 19:000,33
05.01.2021 20:000,32
05.01.2021 21:000,32
05.01.2021 22:000,32
05.01.2021 23:000,30
  • Hi Anonymous ,

    According to your description, here's my solution. 

    Create two measures.

    Average =
    AVERAGEX (
        FILTER (
            ALL ( 'Table' ),
            DATEVALUE ( 'Table'[Date /Time] ) = DATEVALUE ( MAX ( 'Table'[Date /Time] ) )
                && 'Table'[Date /Time] <= MAX ( 'Table'[Date /Time] )
        ),
        'Table'[Sensor Values]
    )
    
    Count = COUNTX ( FILTER ( ALL ( 'Table' ), [Average] > 4 ), 'Table'[Date /Time] )
    

    In my sample, I modify the value of 1/1/21 23:00 to 100, and the count get 1.

    I attach my sample below for reference.

     

    Best Regards,
    Community Support Team _ kalyj

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

     

3 Replies

  • Anonymous , Try

    Avg Measure =calculate(Average(Table[Sensor Values]), filter(table, table[datetime] <=now() && table[datetime] >=now() -time(24,0,0)))

     

    Count GT 4 = calculate(count(Table[Sensor Values]), filter(table, table[datetime] <=now() && table[datetime] >=now() -time(24,0,0) &&  Table[Sensor Values] >4 ))

    • Anonymous's avatar
      Anonymous
      Not applicable

      amitchandak 

      Thank you for your reply πŸ™‚

      I tried these measures, but the date/time disappears when I drag the Avg measure to the table visualisation(see photos attached), any idea?Before adding AVG measureafter adding AVG measure 

  • Hi Anonymous ,

    According to your description, here's my solution. 

    Create two measures.

    Average =
    AVERAGEX (
        FILTER (
            ALL ( 'Table' ),
            DATEVALUE ( 'Table'[Date /Time] ) = DATEVALUE ( MAX ( 'Table'[Date /Time] ) )
                && 'Table'[Date /Time] <= MAX ( 'Table'[Date /Time] )
        ),
        'Table'[Sensor Values]
    )
    
    Count = COUNTX ( FILTER ( ALL ( 'Table' ), [Average] > 4 ), 'Table'[Date /Time] )
    

    In my sample, I modify the value of 1/1/21 23:00 to 100, and the count get 1.

    I attach my sample below for reference.

     

    Best Regards,
    Community Support Team _ kalyj

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.