Содержание

Кейс: посчитать количество записей в таблице


Это - одна из основополагающих операций для многих аналитических расчётов. Но не очень очевидная с точки зрения реализации.

Чтобы было что посчитать, нужно добавить к таблице/объекту пустой числовой реквизит.

А чтобы Система поняла, что это счётчик, в показателе OLAP-куба сделать каждую его запись константой со значением "1".

Предположим, что мы хотим посчитать, сколько раз отгружали фрукты по договорам поставки. Таблица с исходными данными называется "Фруктов отгружено".

Шаг 1. Добавить индекс

Добавьте колонку "Индекс" в таблицу "Фруктов отгружено":

  1. Если числовой реквизит "Индекс" еще не создан, создайте его: Администрирование → Структура базы данных → Реквизиты → "Создайте новый реквизит":
    • "Название" - Индекс;
    • "Тип реквизита" - Число;
    • "Число цифр до запятой" - 1;
    • "Число цифр после запятой" - 0;
    • "Максимальное значение" - 1;
    • "Формат" - Число.
  2. Добавьте его к нужной таблице.
  3. В настройке реквизитов в таблице → изменить в поле с реквизитом "Индекс" → снимите с него галки "Показывать" и "Обязательный". Сохраните изменения.

Шаг 2. Создать и настроить OLAP-куб

2.1 Новый шаблон куба

Создайте новый OLAP-куб "Количество транзакций":

  1. Администрирование → Структура базы данных → OLAP-кубы → "Создать".
  2. Заполните поля формы:

2.2 Создать измерения

  1. В созданном шаблоне OLAP-куба в блоке "Измерения" → "Создать".
  2. Создайте измерение - реквизит-классификатор. В нашем примере это "Фрукты":

Так будет выглядеть блок с измерениями в примере с яблоками:

2.3 Показатель-запрос из таблицы

Создайте показатель-запрос "Индикатор":

  1. В блоке "Показатели" → "Создать".
  2. Блок "Свойства показателя OLAP-куба":
    • введите название измерения - Индикатор;
    • "Тип показателя" - "Запрос";
    • "Свойства" - поставить чек-бокс на "Агрегация" и на "Скрытый".
  3. Блок "Настройки запроса":
    • "Источник" - "Таблица" → выберите из списка таблицу "Фруктов отгружено" (название той таблицы, в которую пользователи вносят информацию);
    • "Реквизит" - выберите тот числовой реквизит, в который пользователи вносят количество проданных фруктов. Если числовой реквизит в таблице один, то и выбора не будет. Он встанет сюда сам;
    • "Параметры":
      • "Измерение OLAP-куба" - выберите ранее созданное измерение – Фрукты;
      • "Дата источника" - все даты, кроме "Системной" - это даты, которые относятся к объекту, из которого была сделана запись в таблицу; чтобы получить дату именно записи в таблицу, выбирайте "Системный";
      • "Дата OLAP-куба" - "Дата (точный)".
  4. Сохраните изменения.

2.4 Показатель-формула, чтобы посчитать

Создайте показатель-формулу "Количество сделок":

  1. В блоке "Показатели" → "Создать".
  2. Блок "Свойства показателя OLAP-куба":
    • введите название измерения - Количество сделок;
    • "Тип показателя" - "Формула";
    • "Свойства" - поставить чек-бокс на "Агрегация".
  3. Блок "Формула" → выбрать "Константа" → указать "1".
  4. Сохраните изменения.

Куб готов. Вы можете использовать его для дальнейших вычислений. Например, чтобы узнать сумму среднего чека.

Проверить, что Система посчитала, можно через создание OLAP-отчёта.