Concluir a análise de fraude
Até aqui, separamos os dados do spa em um fluxo de entradas e saídas e ordenamos esse fluxo cronologicamente. Esse fluxo contém dois campos essenciais: StartOrdinal e StartOrEndOrdinal. StartOrdinal é a ordenação cronológica de todas as entradas. StartOrEndOrdinal contém todas as entradas e saídas em ordem. Com essas duas informações, conseguimos encontrar o número máximo de visitas simultâneas.
Os resultados do exercício anterior agora estão em uma tabela temporária chamada #StartStopOrder.
Este exercício faz parte do curso
Análise de Séries Temporais no SQL Server
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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 ___ ___;