ПочатиПочніть безкоштовно

Побудуйте потік подій

У попередній вправі ми розбили дані спа-салону на потік входів і виходів. Перетворення даних з широкого у довгий формат (unpivot) дозволяє перейти до наступного кроку — упорядкувати весь потік.

Результати з попередньої вправи тепер у тимчасовій таблиці #StartStopPoints. Стовпці в цій таблиці: CustomerID, TimeUTC, EntryCount і StartOrdinal. Це єдині стовпці, які вам знадобляться у цій вправі. TimeUTC — це час події, EntryCount показує чисту зміну для події (+1 або -1), а StartOrdinal з'являється для подій входу й задає порядок входу.

Ця вправа є частиною курсу

Аналіз часових рядів у SQL Server

Переглянути курс

Інструкції до вправи

  • Заповніть відповідну віконну функцію (ROW_NUMBER()), щоб створити потік реєстрацій (check-in) і виходів (check-out) у хронологічному порядку.
  • Розбийте на секції за ідентифікатором клієнта, щоб обчислити результат для кожного користувача.
  • Впорядкуйте за часом події та розв'яжіть однакові значення за допомогою порядкового значення входу (start ordinal).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

SELECT s.*,
    -- Build a stream of all check-in and check-out events
	___() OVER (
      -- Break this out by customer ID
      PARTITION BY s.___
      -- Order by event time and then the start ordinal
      -- value (in case of exact time matches)
      ORDER BY s.___, s.___
    ) AS StartOrEndOrdinal
FROM #StartStopPoints s;
Редагувати та запускати код