Terminer l'analyse de fraude
Jusqu'ici, nous avons transformé les données du spa de jour en un flux d'entrées et de sorties, puis nous avons ordonné ce flux chronologiquement. Ce flux contient deux champs essentiels, StartOrdinal et StartOrEndOrdinal. StartOrdinal correspond à l'ordre chronologique de toutes les entrées. StartOrEndOrdinal contient toutes les entrées et les sorties, dans l'ordre. Avec ces deux informations, nous pouvons trouver le nombre maximal de visites simultanées.
Les résultats de l'exercice précédent se trouvent maintenant dans une table temporaire appelée #StartStopOrder.
Cette activité fait partie du cours
Analyse de séries chronologiques dans SQL Server
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
SELECT
s.CustomerID,
MAX(2 * s.StartOrdinal - s.StartOrEndOrdinal) AS MaxConcurrentCustomerVisits
FROM #StartStopOrder s
WHERE s.EntryCount = 1
GROUP BY s.CustomerID
-- The difference between 2 * start ordinal and the start/end
-- ordinal represents the number of concurrent visits
HAVING MAX(2 * s.___ - s.___) > 2
-- Sort by the largest number of max concurrent customer visits
ORDER BY ___ ___;