J'ai une table EG SAS qui ressemble à ceci:faire des groupes de sessions SAS EG
DateTime User Prod Date Date2 User2 Prod2 DateTime2 SecDiff Calc
20MAR2014:20:17:00 54823 1430 20140320 . . . . . 1
13MAR2014:09:07:16 66019 8244 20140313 20140320 54823 1430 20Mar14:20:17:00 -644984 1
13MAR2014:09:07:44 66019 8244 20140313 20140313 66019 8244 13Mar14:09:07:16 28 0
13MAR2014:09:08:17 66019 8244 20140313 20140313 66019 8244 13Mar14:09:07:44 33 0
13MAR2014:09:08:43 66019 8244 20140313 20140313 66019 8244 13Mar14:09:08:17 26 0
13MAR2014:09:09:12 66019 8244 20140313 20140313 66019 8244 13Mar14:09:08:43 29 0
13MAR2014:09:10:34 66019 8244 20140313 20140313 66019 8244 13Mar14:09:09:12 82 0
13MAR2014:09:11:08 66019 8244 20140313 20140313 66019 8244 13Mar14:09:10:34 34 0
13MAR2014:09:11:34 66019 8244 20140313 20140313 66019 8244 13Mar14:09:11:08 26 0
14MAR2014:21:19:18 66019 8244 20140314 20140313 66019 8244 13Mar14:09:11:34 130064 1
14MAR2014:21:19:52 66019 8244 20140314 20140314 66019 8244 14Mar14:21:19:18 34 0
Toutes les colonnes avec 2 est une version décalée 1 colonnes "non-2".
Ces données illustrent une activité de l'utilisateur sur un produit spécifique à un certain horodatage DateTime.
Je suis intéressé par la création de "Sessions" sur la base de certains paramètres, mais est illustré dans la dernière colonne appelée "Calc". Donc, pour chaque nouvelle session, il devrait y avoir un nouveau numéro. Les paramètres sont "Date = Date2", "Utilisateur = Utilisateur2", "Prod = Prod2" et "SecDiff < = 3600". L'objectif final est de calculer les secondes de chaque session (en ajoutant le SecDiff). Donc, dans ce cas, la table me sera donné ces résultats:
DateTime User Prod Date Seconds Calc
20MAR2014:20:17:00 54823 1430 20140320 . 1
13MAR2014:09:07:16 66019 8244 20140313 258 2
14MAR2014:21:19:18 66019 8244 20140314 34 3
Cela renvoie les différents en quelques secondes, mais supprime la valeur extrême qui est calculée et représente une nouvelle session.