Кейс: посчитать количество записей в таблице
Это - одна из основополагающих операций для многих аналитических расчётов. Но не очень очевидная с точки зрения реализации.
Чтобы было что посчитать, нужно добавить к таблице/объекту пустой числовой реквизит.
А чтобы Система поняла, что это счётчик, в показателе OLAP-куба сделать каждую его запись константой со значением "1".
Предположим, что мы хотим посчитать, сколько раз отгружали фрукты по договорам поставки. Таблица с исходными данными называется "Фруктов отгружено".
Шаг 1. Добавить индекс
Добавьте колонку "Индекс" в таблицу "Фруктов отгружено":
- Если числовой реквизит "Индекс" еще не создан, создайте его: Администрирование → Структура базы данных → Реквизиты → "Создайте новый реквизит":
- "Название" - Индекс;
- "Тип реквизита" - Число;
- "Число цифр до запятой" - 1;
- "Число цифр после запятой" - 0;
- "Максимальное значение" - 1;
- Добавьте его к нужной таблице.
Шаг 2. Создать и настроить OLAP-куб
2.1 Новый шаблон куба
Создайте новый OLAP-куб "Количество транзакций":
- Администрирование → Структура базы данных → OLAP-кубы → "Создать".
- Заполните поля формы:
- "Название" - Количество транзакций;
- "Описание" - может помочь для поиска нужного OLAP-куба при дальнейших настройках;
- выберите иконку, чтобы было проще ориентироваться;
- "Число цифр после запятой" - 0;
- чек-бокс "Показывать только одну (последнюю по времени) запись по проекту" оставить пустым.
- "Режим обновления" - выберите в зависимости от общей нагруженности Системы и размеров данных, с которыми куб будет работать.
Чтобы данные для пользователей в отчётах открывались быстро, выберите "Один раз в сутки" или "По таймеру". Настройки таймера.
2.2 Создать измерения
- В созданном шаблоне OLAP-куба в блоке "Измерения" → "Создать".
Так будет выглядеть блок с измерениями в примере с яблоками:
2.3 Показатель-запрос из таблицы
Создайте показатель-запрос "Индикатор":
- В блоке "Показатели" → "Создать".
- Блок "Свойства показателя OLAP-куба":
- введите название измерения - Индикатор;
- "Тип показателя" - "Запрос";
- "Свойства" - поставить чек-бокс на "Агрегация" и на "Скрытый".
- Блок "Настройки запроса":
- "Источник" - "Таблица" → выберите из списка таблицу "Фруктов отгружено" (название той таблицы, в которую пользователи вносят информацию);
- "Реквизит" - выберите тот числовой реквизит, в который пользователи вносят количество проданных фруктов. Если числовой реквизит в таблице один, то и выбора не будет. Он встанет сюда сам;
- "Параметры":
- "Измерение OLAP-куба" - выберите ранее созданное измерение – Фрукты;
- "Дата источника" - все даты, кроме "Системной" - это даты, которые относятся к объекту, из которого была сделана запись в таблицу; чтобы получить дату именно записи в таблицу, выбирайте "Системный";
- "Дата OLAP-куба" - "Дата (точный)".
- Сохраните изменения.
2.4 Показатель-формула, чтобы посчитать
Создайте показатель-формулу "Количество сделок":
- В блоке "Показатели" → "Создать".
- Блок "Свойства показателя OLAP-куба":
- введите название измерения - Количество сделок;
- "Тип показателя" - "Формула";
- "Свойства" - поставить чек-бокс на "Агрегация".
- Блок "Формула" → выбрать "Константа" → указать "1".
- Сохраните изменения.
Куб готов. Вы можете использовать его для дальнейших вычислений. Например, чтобы узнать сумму среднего чека.
Проверить, что Система посчитала, можно через создание OLAP-отчёта.





