# Свойства метрик

Метрики определяют измеримые величины, которые можно запрашивать через Semantic Layer. Место их определения зависит от версии dbt:

* В модели с использованием *новейшей* спецификации YAML. Список `metrics:` верхнего уровня в [модели](https://docs.getdbt.tech/reference/model-properties.md) с включённым семантическим моделированием, наряду с `semantic_model:` и `columns:`. Доступно в канале выпусков **v1 Latest** dbt platform и в dbt v2.
* В отдельном файле с использованием *устаревшей* спецификации YAML. Подробнее см. в разделе [Создание метрик](https://docs.getdbt.tech/docs/build/metrics-overview.md).

Доступность

Последняя версия спецификации YAML поддерживается в следующих средах:

* **dbt platform (v1, канал обновлений Latest)**
* **dbt v2**
* **dbt v1.12**

Подробнее см. в разделе [Переход на последнюю версию спецификации YAML](https://docs.getdbt.tech/docs/build/latest-metrics-spec.md).

(Версии dbt: v1.12 и новее)

## Новейшая спецификация (YAML модели)

В новейшей спецификации YAML метрики можно определять в модели с включённым семантическим моделированием. Добавьте список `metrics` верхнего уровня наряду с `semantic_model` и `columns` (метрики не вкладываются в `semantic_model`). Настройки, зависящие от типа, задаются ключами верхнего уровня в каждой метрике.

### Доступные свойства метрик (новейшая спецификация)

| Свойство    | Тип    | Обязательное | Описание                                                                                                                                                                                                                                                                                                     |
| ----------- | ------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| name        | string | Да           | Уникальное имя метрики. Используйте строчные латинские буквы, цифры и символы подчёркивания.                                                                                                                                                                                                                 |
| type        | string | Да           | Одно из значений: `simple`, `cumulative`, `ratio`, `derived`, `conversion`.                                                                                                                                                                                                                                  |
| description | string | Нет          | Документация метрики.                                                                                                                                                                                                                                                                                        |
| label       | string | Нет          | Отображаемое имя в инструментах, использующих метрику.                                                                                                                                                                                                                                                       |
| filter      | string | Нет          | Выражение фильтра MetricFlow (измерения, сущности или другие метрики).                                                                                                                                                                                                                                       |
| config      | object | Нет          | Поддерживает [meta](https://docs.getdbt.tech/reference/resource-configs/meta.md), [group](https://docs.getdbt.tech/reference/resource-configs/group.md), [tags](https://docs.getdbt.tech/reference/resource-configs/tags.md), [enabled](https://docs.getdbt.tech/reference/resource-configs/enabled.md). |

### Свойства по типам метрик (новейшая спецификация)

| Тип метрики                                                         | Основные свойства                                                                                                                            |
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| Все                                                                 | name, type, description, label, hidden, filter, config                                                                                       |
| [Простая](https://docs.getdbt.tech/docs/build/simple.md)           | agg, expr, time\_granularity, agg\_time\_dimension, join\_to\_timespine, fill\_nulls\_with; необязательное свойство non\_additive\_dimension |
| [Производная](https://docs.getdbt.tech/docs/build/derived.md)      | expr, input\_metrics (для каждой метрики необязательные alias, filter, offset\_window)                                                       |
| [Отношение](https://docs.getdbt.tech/docs/build/ratio.md)          | numerator, denominator (каждое значение — имя метрики или словарь с name, filter, alias)                                                     |
| [Конверсионная](https://docs.getdbt.tech/docs/build/conversion.md) | entity, calculation, base\_metric, conversion\_metric, window; необязательное свойство constant\_properties                                  |
| [Накопительная](https://docs.getdbt.tech/docs/build/cumulative.md) | input\_metric, window, grain\_to\_date, period\_agg                                                                                          |

**Метрики, использующие несколько моделей:** Метрики в списке `metrics:` модели могут ссылаться только на эту семантическую модель. Метрики, зависящие от других семантических моделей (например, накопительные, отношения, производные или конверсионные метрики, использующие несколько моделей), размещаются в блоке `metrics:` верхнего уровня (вне `models:`). Этот блок может находиться в том же файле YAML или в отдельном файле.

**Примечание:** В устаревшей спецификации все метрики определялись в отдельных файлах YAML; списка `metrics:` на уровне модели не было.

Подробнее о новейшей спецификации см. в разделе [Семантические модели](https://docs.getdbt.tech/docs/build/semantic-models.md). О типах метрик, `type_params` и дополнительных примерах см. в разделе [Создание метрик](https://docs.getdbt.tech/docs/build/metrics-overview.md).
