1---2name: analytics-engineering3description: Применяйте при разработке или проверке модели dbt, витрины, семантической метрики или расчёта для дашборда; уточняйте гранулярность, размножение строк при соединениях, правила агрегации и согласованность инкрементального и полного расчётов.4---56# Подготовка данных для аналитики78## Определение метрики910- Используйте утверждённое определение метрики и соглашения проекта; уточните владельца, уровень детализации строки, состав учитываемых объектов, часовой пояс, валюту и правила обработки отмен и возвратов. Выявляйте разногласия до изменения смысла метрики.11- Изучите ключи источников, зависимости моделей, способы материализации и установленные версии адаптеров, прежде чем полагаться на поведение dbt или конкретного хранилища.1213## Ключевые решения14151. Укажите ожидаемую кратность каждого соединения. Сравните число строк, уникальных бизнес-ключей, ключей без соответствия и итоговые суммы до и после него; устраняйте размножение строк на нужном уровне детализации, а не скрывайте его с помощью DISTINCT.162. Отличайте аддитивные показатели от остатков, отношений и числа уникальных объектов. Вычисляйте отношения из соответствующих числителя и знаменателя; не усредняйте уже агрегированные доли и не складывайте числа уникальных объектов по пересекающимся группам.173. Для изменяющихся справочников определите, нужны ли отчёту текущие атрибуты или атрибуты, действовавшие на момент события. Проверяйте границы интервалов и пересечения версий, а не присоединяйте все версии по бизнес-ключу.184. Сравнивайте инкрементальный расчёт с полным на одном снимке источника и при одной временной границе учёта данных (cutoff). Включайте поздние исправления, удаления, пустые ключи и пустые разделы; успешная проверка схемы не доказывает эквивалентность метрик.1920## Результат и проверка2122- Подготовьте запрошенную модель, определение метрики или анализ с указанием гранулярности, происхождения данных, допущений и затронутых потребителей.23- Проверьте значимые для изменения инварианты: уникальность ключей, допустимость пустых значений, связи, допустимые значения, свежесть и сверку итогов. Укажите охват и фактические результаты.24- Используйте документацию или шаблоны проекта, когда это помогает; для запроса на проверку достаточно самостоятельного объяснения.2526## Ограничения2728- Не придумывайте определения метрик и владельцев, не меняйте незаметно установленный знаменатель и не смешивайте уровни детализации без явных правил агрегации.29- Отличайте результаты выборочной проверки от полной сверки; успешные проверки не подтверждают точность, которую не измеряли.