---
metadata:
  - name: generator
    content: Diplodoc Platform v5.63.0
alternate:
  - en/dataset/data-model
  - ru/dataset/data-model
  - href: ru/dataset/data-model.md
    type: text/markdown
    title: Markdown version
csp:
  - script-src:
      - https://mc.yandex.ru
    img-src:
      - https://mc.yandex.ru
    connect-src:
      - https://mc.yandex.ru
      - wss://mc.yandex.ru
    child-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-ancestors:
      - 'blob:'
      - https://mc.yandex.ru
canonical: ru/dataset/data-model.html
title: Модель данных в DataLens On-premises
description: >-
  В статье описывается модель данных сервиса DataLens On-premises. В качестве
  источника данных используются одна или несколько таблиц. Если в источнике
  доступно несколько таблиц, их можно объединить с помощью оператора JOIN.
  Объединение происходит через создание связи. В связи вы указываете поля
  исходной таблицы и поля таблицы, с которой происходит объединение.
vcsPath: ru/dataset/data-model.md
---

# Модель данных в DataLens On-premises

Набор данных датасета представлен в виде полей.

## Источник данных {#source}

В качестве источника данных используются одна или несколько таблиц.

{% note info %}

Существует ограничение на показ в датасете первых 1000 таблиц из источника. Если нужные таблицы не попали в список, то на данный момент их можно добавить только вручную с помощью SQL-запроса.

{% endnote %}

Если в источнике доступно несколько таблиц, их можно объединить с помощью оператора [JOIN](https://ru.wikipedia.org/wiki/Join_(SQL)).
[Объединение](../concepts/data-join.md) происходит через создание связи. В связи вы указываете поля исходной таблицы и поля таблицы, с которой происходит объединение.

Связь таблиц происходит автоматически по первому совпадению имени полей и типа данных полей.

При этом вы можете:

* изменять поля в связи;
* добавлять новые связи или удалять существующие;
* изменять в связи тип оператора `JOIN` (`INNER`, `LEFT`, `RIGHT`, `FULL`);
* управлять оптимизацией связи.

Оператор `JOIN` применяется, если в запросе из чарта участвуют поля из двух и более таблиц датасета.

Оператор `JOIN` не применяется, если:

* датасет содержит одну таблицу;
* датасет содержит несколько таблиц, но в запросе участвуют поля только от одной из этих таблиц (при включенной оптимизации связи).

Для управления поведением связи при [объединении данных из нескольких таблиц](./create-dataset.md#links) используйте опцию **Оптимизировать связь** в настройках связи. По умолчанию опция включена для всех связей в датасете — оператор `JOIN` применяется, когда в запросе участвуют поля из двух и более связанных таблиц. Вы можете отключить опцию для каждой конкретной связи, чтобы сделать связь обязательной. В этом случае операция объединения (оператор `JOIN`) будет выполняться, даже если выбираются поля только из одной таблицы.

{% note info %}

Отключение оптимизации может увеличить время выполнения запроса.

{% endnote %}


## Поля данных {#field}

Поля определяют структуру и формат датасета. Существуют следующие типы полей:

* **Измерение**. Содержит значения, которые определяют характеристику данных. Например, город, дата покупки, категория продукта. К полю с измерением не применяется функция агрегации, в противном случае поле становится показателем. В интерфейсе измерения отображаются зеленым цветом.
* **Показатель**. Содержит числовые значения, к которым применяются функции агрегации (сведения). Например, сумма кликов, количество переходов. Если снять с такого поля функцию агрегации, оно станет измерением. В интерфейсе показатели отображаются синим цветом.

В интерфейсе создания датасета и в визарде вы можете дублировать существующие поля и создавать новые, а также использовать [функции агрегации](#aggregation).

{% note warning %}

Максимальное количество полей в одном датасете — 1200.

{% endnote %}

DataLens позволяет создавать вычисляемые поля с помощью формул. Для записи формул вы можете использовать существующие поля датасета, константы и функции. Полный список функций приведен в разделе [Справочник функций](../function-ref/all.md).

Подробнее о вычисляемых полях читайте в разделе [Вычисляемые поля в DataLens On-premises](../concepts/calculations/index.md).

## Агрегация данных {#aggregation}

Для полей с различными типами данных доступны следующие функции агрегации:

Функция | Описание | Поддерживаемые типы
----- | ----- | -----
Нет | Без агрегации | Все типы
Среднее | Среднее арифметическое значений | `Дробное число`<br/>`Целое число`
Количество | Количество записей| `Строка`<br/>`Дата`<br/>`Дата и время`<br/>`Дробное число`<br/>`Целое число`
Количество уникальных | Количество уникальных записей | `Строка`<br/>`Дата`<br/>`Дата и время`<br/>`Дробное число`<br/>`Целое число`
Максимум | Максимальное значение | `Дата`<br/>`Дата и время`<br/>`Дробное число`<br/>`Целое число`
Минимум | Минимальное значение | `Дата`<br/>`Дата и время`<br/>`Дробное число`<br/>`Целое число`
Сумма | Сумма значений | `Дробное число`<br/>`Целое число`

Дополнительные функции агрегации доступны в [вычисляемых полях](../concepts/calculations/index.md).

{% note info %}

Для некоторых источников недоступны функции агрегации.
Источники, для которых доступна функция, перечислены в разделе **Поддержка источников данных** на странице функции агрегации в [справочнике](../function-ref/aggregation-functions.md).

{% endnote %}

Подробнее о типах данных в разделе [Типы данных DataLens On-premises](./data-types.md).

#### Полезные ссылки {#see-also}

* [Работа с датасетом в DataLens On-premises](./create-dataset.md)
