Спроектировать звезду для продаж
Вопрос
Спроектируйте вслух звезду для анализа продаж розничной сети.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Сначала гранулярность: одна строка = позиция чека
Факт: ключи измерений, количество, сумма, скидка, номер чека
Измерения: дата, товар, магазин, клиент, акция
Суррогатные ключи и SCD 2 для клиента и товара
Аддитивные меры, средний чек считать из сумм
Отдельный факт для остатков как периодический снимок
Что могут спросить следом
- Как вы посчитаете средний чек?
- Где хранить номер чека?
- Что делать с возвратами?
Разбор
Образцовый ответ: «Начну с гранулярности: одна строка факта это одна позиция в чеке. В факте ключи измерений: дата, время, товар, магазин, клиент, акция, номер чека как вырожденное измерение, и меры: количество, сумма, скидка, себестоимость. Измерения: календарь с праздниками и неделями, товар с брендом и категорией, магазин с городом и форматом, клиент с сегментом, акции. У клиента и товара суррогатные ключи и SCD 2, чтобы продажи прошлого года оставались в старой категории или городе. Средний чек не храню, а считаю как сумму выручки на число различных чеков. Остатки это другой процесс с другой гранулярностью, для них отдельный факт периодического снимка. Возвраты либо отдельный факт, либо строки с отрицательным количеством и признаком».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Моделирование: Кимбалл, звезда, SCD»
- Аддитивность мер
- Типы таблиц фактов
- Типы SCD
- Data Vault: хабы, линки, сателлиты
- Факт или измерение
- Гранулярность факта
- Порядок загрузки SCD 2
- Point-in-time JOIN