Одинаковое название показателя не гарантирует одинакового расчёта. Объясняем общий слой определений, его отличие от таблицы и ограничения для отчётности.
Два отчёта могут по-разному понимать один термин
Представим условный сервис доставки. В одном отчёте «выполненные заказы» означают все доставленные заказы, а в другом дополнительно исключены тестовые. Источник может быть общим, названия столбцов — одинаковыми, но итоговые числа различаются по понятной причине. Пока правило живёт отдельно в каждом отчёте, выяснение причин превращается в поиск нескольких независимых определений.
Семантический слой связывает данные с согласованными понятиями и правилами расчёта. Слово «семантический» здесь относится к смыслу: что именно считается показателем, в каких разрезах его можно рассматривать и как связаны нужные сведения. Такой слой не заменяет разговор с владельцем бизнеса. Сначала нужно определить смысл, который система затем будет использовать.
Определение становится общей частью обработки
В документации dbt Semantic Layer описано централизованное определение показателей поверх моделей данных для использования в последующих инструментах. В нашем примере это означает, что правило исключения тестовых заказов можно поддерживать в одном согласованном месте, а не заново формулировать при создании каждой диаграммы.
Это пример устройства конкретного продукта, а не утверждение, что любой набор отчётов уже имеет такую возможность. Для учебного разбора предложим сначала перечислить приложения, которые должны пользоваться общим определением. Если часть отчётов продолжает считать независимо, наличие центральной модели само по себе ещё не делает их результаты одинаковыми.
Общий смысл шире одной сохранённой суммы
В словаре Looker модель описана как семантический слой, управляющий логикой и доступом к данным, включая используемые таблицы и их связи. Поэтому речь может идти не только о готовом числе за вчера, но и о правилах получения результата при выборе периода или подразделения.
Вернёмся к доставкам. Пользователь хочет рассмотреть выполненные заказы по дням и по пунктам выдачи. В учебном определении уточним, какое событие даёт дату, относится ли заказ сразу к нескольким пунктам и где исключаются тестовые записи. Эти вопросы помогают понять, какие разрезы совместимы с показателем, ещё до оформления отчётной панели.
Слой определений не исправляет исходные сведения
Допустим, часть источников передала статус доставки с задержкой. Даже единое правило обработает только те сведения, которые доступны выбранному расчёту. Из этого следует ограничение нашего примера: централизация смысла не создаёт отсутствующие события и не гарантирует свежесть. Причину расхождения нужно искать и в данных, и в правилах, и в моменте получения результата.
Отдельно проверим единицы измерения и подробность записей. Если одна строка означает заказ, а другая — отдельную позицию заказа, простое суммирование может отвечать на разные вопросы. Разобраться в подробности помогает материал о фактах и измерениях в схеме «звезда». Модель отчётных таблиц и общий смысл показателей решают связанные, но разные задачи.
Изменение определения требует понятного решения
Предположим, команда решила исключать ещё одну категорию учебных заказов. Для нашего процесса предложим записать причину, согласующего, момент применения и ожидаемые отличия. Нужно отдельно решить, пересчитывать ли прошлые периоды. Иначе читатель увидит изменение старого отчёта и не поймёт, появились новые данные или изменилось правило.
Ответственность не исчезает после появления общего слоя. Владелец показателя должен понимать смысл изменения, а техническая команда — обеспечить согласованное применение. Скопированное число в отдельном файле не меняется автоматически вместе с новой моделью. Поэтому полезно знать, какие результаты обновляются, а какие остаются сохранёнными снимками.
С чего начать обсуждение архитектуры
Возьмите один спорный показатель и опишите его словами: какие события входят, какие исключаются, к какому периоду относятся и кто утверждает правило. Затем найдите все места, где это правило сейчас повторено. Такой разбор помогает сформулировать задачу общего слоя без преждевременного выбора продукта и без обещания мгновенно устранить любые расхождения.
Продолжить изучение устройства систем можно на программе «Архитектор данных». Полезный первый результат — показать путь от согласованного определения до конкретного отчёта и назвать места, где этот путь пока расходится.


