# Конфигурации семантического слоя

Спецификация YAML для Semantic Layer определяет все свойства и параметры семантических моделей, метрик и измерений. Используйте её, когда нужен полный и достоверный перечень доступных настроек. Например, при определении новых объектов, проверке YAML или устранении ошибок конфигурации.

Поскольку этот справочник содержит информацию как об *актуальной спецификации* (встроенной в модель), так и об *устаревшей спецификации* (в отдельном YAML-файле), вам нужно выбрать соответствующую версию с помощью переключателя версий. [Прочитайте документацию по созданию семантических моделей](https://docs.getdbt.tech/docs/build/semantic-models.md), чтобы узнать, какая спецификация применима к вашей среде. Для перехода с устаревшей спецификации см. [Переход на актуальную спецификацию YAML](https://docs.getdbt.tech/docs/build/latest-metrics-spec.md).

Доступность

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

* **dbt platform (v1, канал выпусков Latest)**
* **dbt v2**
* **dbt v1.12**

## Справочник свойств

Страницы справочника свойств подробно описывают каждый тип ресурсов, позволяя узнать допустимые значения, синтаксис и поведение каждого свойства в полной спецификации YAML. Используйте переключатель версий на каждой странице, чтобы просмотреть содержимое для *актуальной спецификации (YAML модели)* или *устаревшей спецификации (отдельный YAML-файл)*:

* [Свойства семантических моделей](https://docs.getdbt.tech/reference/semantic-model-properties.md)
* [Свойства метрик](https://docs.getdbt.tech/reference/metric-properties.md)
* [Свойства измерений](https://docs.getdbt.tech/reference/dimension-properties.md) — для актуальной спецификации здесь разграничены ключи **уровня столбца** (`dimension:`, `granularity:`) и **свойства внутри** блока `dimension:`; используйте переключатель версий на этой странице, чтобы просмотреть поля `dimensions:` устаревшей спецификации в отдельном YAML-файле.

## Где определять объекты Semantic Layer

| Объект                   | Актуальная спецификация (YAML модели)                                                                                                                                                                                                                                                                                                                                                       | Устаревшая спецификация (отдельный YAML-файл)                                                        |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Семантические модели** | Блок `semantic_model:` верхнего уровня внутри [models](https://docs.getdbt.tech/reference/model-properties.md).                                                                                                                                                                                                                                                                            | Список `semantic_models:` верхнего уровня.                                                           |
| **Метрики**              | Метрики, которые зависят только от той же семантической модели, размещайте непосредственно внутри каждой модели в `models:` (но не внутри `semantic_model`).<br /><br />Метрики, которые зависят от метрик или измерений из другой семантической модели, определяйте в блоке `metrics:` верхнего уровня (например, вне `models:`). Он может находиться в том же YAML-файле или в отдельном. | Ключ `metrics:` верхнего уровня в отдельном YAML-файле.                                              |
| **Измерения**            | Блоки `dimension:` в столбцах модели (и необязательный `derived_semantics.dimensions`). Определяются в конфигурации семантического слоя модели.                                                                                                                                                                                                                                             | Список `dimensions:` в семантической модели. Определяется в конфигурации семантического слоя модели. |

## Связанная документация

Полную структуру и примеры см. в следующих руководствах по созданию:

* [Создание метрик](https://docs.getdbt.tech/docs/build/build-metrics-intro.md): Обзор концепций Semantic Layer, типов метрик и первых шагов.
* [Семантические модели](https://docs.getdbt.tech/docs/build/semantic-models.md): Как определять семантические модели (в модели или отдельно), их структура и примеры.
* [Создание и настройка метрик](https://docs.getdbt.tech/docs/build/metrics-overview.md): Как создавать и настраивать метрики; ссылки на руководства по отдельным типам (simple, cumulative, ratio, derived, conversion).
* [Измерения](https://docs.getdbt.tech/docs/build/dimensions.md): Как определять временные и категориальные измерения в семантических моделях.
* [Переход на актуальную спецификацию YAML](https://docs.getdbt.tech/docs/build/latest-metrics-spec.md): Как перейти с устаревшей спецификации YAML для метрик на актуальную.
