Создание метрик
Как создать метрики
- 💹 Начнем с одной из самых важных метрик для любого бизнеса: выручка.
- 📖 На данный момент наша метрика для выручки будет определена как сумма итогов заказов без учета налогов.
Определение выручки
- 🔢 Метрики имеют четыре основных свойства:
name:
Мы будем использовать 'revenue' для обозначения этой метрики.description:
Для документации.label:
Отображаемое имя метрики в последующих инструментах.type:
один изsimple
,ratio
илиderived
.
- 🎛️ Каждый тип имеет разные
type_params
. - 🛠️ Сначала мы создадим простую метрику, чтобы освоиться, а затем перейдем к метрикам типа ratio и derived.
- 📏 Простые метрики строятся на одной мере, определенной как параметр типа.
- 🔜 Определение мер как их собственных отдельных компонентов в семантических моделях критически важно для обеспечения гибкости более сложных метрик, хотя простые метрики в основном действуют как передаточные, предоставляющие возможности фильтрации и маркировки.
models/marts/orders.yml
metrics:
- name: revenue
description: Sum of the order total.
label: Revenue
type: simple
type_params:
measure: order_total
Запрос вашей метрики
Вы можете использовать dbt Cloud CLI для проверки метрик или запросов во время разработки через набор подкоманд dbt sl
. Вот несколько полезных примеров:
dbt sl query revenue --group-by metric_time__month
dbt sl list dimensions --metrics revenue # список всех доступных измерений для метрики выручки
- Лучшей практикой является запуск
dbt parse
каждый раз, когда мы обновляем код нашего семантического слоя, чтобы обновить наш семантический манифест разработки. dbt sl query
не является спосо бом, которым вы обычно используете инструмент в производственной среде, это обрабатывается функциями семантического слоя dbt Cloud. Он доступен для тестирования результатов различных запросов метрик в процессе разработки, именно так, как мы используем его сейчас.- Обратите внимание на структуру вышеуказанного запроса. Мы выбираем метрику(и), которые хотим, и измерения, по которым их нужно сгруппировать — мы используем двойные подчеркивания (например,
metric_time__[time bucket]
) для обозначения временных измерений или других неуникальных измерений, которым нужен указанный путь сущности для разрешения (например, если у вас есть измерение местоположения заказов и измерение местоположения сотрудников, оба названные 'location', вам понадобятся двойные подчеркивания, чтобы указатьorders__location
илиemployee__location
).
0