Bonjour.
toutes les 15 min
toutes les 8H00
Je suppose que tu veux des tranches du types :
00:00:00 à 00:14:59
00:15:00 à 00:29:59
et
00:00:00 à 07:59:59
08:00:00 à 17:59:59
Je ne suis pas certain que ce soit la solution la plus efficace mais je ferai un champ calculé qui va déterminer dans quelle tranche ton heure courante tombes. Le plus simple me paraît de de travailler en secondes.
Tranche15mn:int(Heure([DateHeure])*3600 + Minute([DateHeure])*60 + Seconde([DateHeure])/(15*60)) * (15*60)
cela va te donner la 1èr seconde de chaque tranche de 15 minutes. Une fois que tu as identifié tes tranches, il suffit de faire une requête de regroupement sur la tranche pour avoir tes moyennes.
Même chose pour les 8 heures.
Tranche8h:int(Heure([DateHeure])*3600 + Minute([DateHeure])*60 + Seconde([DateHeure])/(8*3600)) * (8*3600)
Note j'ai laissé les tranches sous la forme 15*60 et 8*3600 pour montrer le raisonnement mais on peux mettre soit la valeur déjà calculé soit un paramètres qui te permettrai d'avoir une seule requête pour toutes les tranches.
Un truc du genre :
1 2 3
|
DureeTrancheEnS:( (heure([prmDureeTranche])*3600) + (Minute([prmDureeTranche])*60) + Seconde([prmDureeTranche]) )
Tranche:int(Heure([DateHeure])*3600 + Minute([DateHeure])*60 + Seconde([DateHeure])/[DureeTrancheS]) * ([DureeTrancheEnS) |
Si tu veux économiser la conversion en seconde, tu peux utiliser les dates directement : la partie entière te donne le nombre de jour depuis je ne sais plus quelle date de référence et la partie décimale le nombre de centièmes de seconde depuis minuit.
A+
Partager