you have a table with data time and values.
Now to fetch values for the last hour, you can use the hour(datatime) function which will give you an hour value from 0-23. And last hour is basically (hour -1)
lasthour = table[value("12/1/2019, 12:00:04")]
to fetch values for today you can use the function today()
today = table[value(today())]
yesterday is basically (today-1)
yesterday = table[value(today()-1)]
last 5 days is the sum of today, today-1, today-2, today-3, today-4
last5days = table[value(today)+value(today()-1)+value(today()-2)+value(today()-3)+value(today()-4)]
For your second requirement, there are straight of functions
Average = average([value])
Min = min([value])
Max = max([value])
Create different columns for Average, Min and Max the go ahead and create a slicer in the usual manner and use these(average, min, and max) as your filters.