====== Кейс: посчитать количество записей в справочнике ======
{{:product:olap:olap_case_0.png?nolink&350 |}} Это -- одна из основополагающих операций для многих аналитических расчётов. Но не очень очевидная с т.зр. реализации.
Чтобы было что посчитать, нужно **добавить к справочнику/объекту пустой числовой реквизит**. \\
А чтобы система поняла, что это счётчик, в **показателе OLAP-куба сделать каждую его запись константой со значением "1"**.
Предположим, что мы хотим посчитать, сколько раз отгружали фрукты по договорам поставки. Справочник с исходными данными называется "Фруктов отгружено".
===== Шаг 1. Добавить индекс =====
**Добавьте колонку "Индекс" в справочник "Фруктов отгружено".**
- Если [[product/requisites/number|числовой реквизит]] "Индекс" еще не создан, создайте его: Администрирование -> Структура базы данных -> Реквизиты -> ''Создайте новый реквизит'':
* "Название" -- Индекс;
* "Тип реквизита" -- Число;
* "Число цифр до запятой" -- 1;
* "Число цифр после запятой" -- 0;
* "Максимальное значение" -- 1;
* "Формат" -- Число. \\ {{ :product:olap:olap_case_1.png?nolink |}}
- Добавьте его [[product:tables:admin:requisites|к нужному справочнику]].
- В настройке реквизитов в справочке -> изменить в поле с реквизитом "Индекс" -> снимите с него галки "Показывать" и "Обязательный". Сохраните изменения. \\ {{ :product:olap:olap_case_2.png?nolink |}}
===== Шаг 2. Создать и настроить OLAP-куб =====
{{ :product:olap:olap_case_3_ru.png?nolink&550 |}}
==== 2.1 Новый шаблон куба ====
{{:product:olap:olap_illustration_10.png?nolink&120 |}}
**Создайте новый OLAP-куб "Количество транзакций".**
- Администрирование → Структура базы данных → OLAP-кубы -> ''Создать''.
- Заполните поля формы:
* ''Название'' -- //Количество транзакций//;
* ''Описание'' -- может помочь для поиска нужного OLAP-куба при дальнейших настройках;
* выберите иконку, чтобы было проще ориентироваться;
* ''Число цифр после запятой'' -- 0;
* чек-бокс ''Показывать только одну (последнюю по времени) запись по проекту'' оставить пустым.
* ''Режим обновления'' -- выберите в зависимости от общей нагруженности системы и размеров данных, с которыми куб будет работать. \\ Чтобы данные для пользователей в отчётах открывались быстро, выберите "Один раз в сутки" или "По таймеру". \\ [[product:settings:system:timer|Настройки таймера.]]
==== 2.2 Создать измерения ====
{{:product:olap:olap_illustration_11.png?nolink&120 |}}
- В созданном шаблоне OLAP-куба в блоке "Измерения" -> ''Создать''.
- [[product/olap/new_metering|Создайте измерение]]-дату: \\ {{ :product:olap:olap_funny_2.png?nolink |}}
- Создайте измерение -- реквизит-классификатор. В нашем примере это "Фрукты": \\ {{ :product:olap:olap_funny_3.png?nolink |}}
Если у вас есть другие реквизиты-классификаторы в справочниках, добавьте их в измерения. Вдруг пригодятся. ;)
Так будет выглядеть блок с измерениями в примере с яблоками:
{{ :product:olap:olap_funny_1.png?nolink |}}
==== 2.3 Показатель-запрос из справочника ====
{{:product:olap:olap_illustration_12.png?nolink&120 |}}
**Создайте показатель-запрос "Индикатор"**.
- В блоке "Показатели" -> ''Создать''.
- Блок "Свойства показателя OLAP-куба":
- введите название измерения -- //Индикатор//;
- "Тип показателя" -- ''Запрос'';
- "Свойства" -- поставить чек-бокс на ''Агрегация'' и на ''Скрытый''.
- Блок "Настройки запроса":
- "Источник" -- ''Справочник'' -> выберите из списка справочник "//Фруктов отгружено//" (название того справочника в который пользователи вносят информацию);
- "Реквизит" -- выберите тот **числовой** реквизит, в который пользователи вносят количество проданных фруктов. \\ //Если числовой реквизит в справочнике один, то и выбора не будет. Он встанет сюда сам.//
- "Параметры":
- "Измерение OLAP-куба" -- выберите ранее созданное измерение -- //Фрукты//;
- "Дата источника" -- все даты, кроме "Системной" -- это даты, которые относятся к объекту, из которого была сделана запись в справочник; чтобы получить дату именно записи в справочник, выбирайте ''Системный'';
- "Дата OLAP-куба" -- ''Дата (точный)''.
- Сохраните изменения.
{{ :product:olap:olap_case_4.png?nolink |}}
==== 2.4 Показатель-формула, чтобы посчитать ====
{{:product:olap:olap_illustration_13.png?nolink&120 |}}
**Создайте показатель-формулу "Количество сделок"**.
- В блоке "Показатели" -> ''Создать''.
- Блок "Свойства показателя OLAP-куба":
- введите название измерения -- //Количество сделок//;
- "Тип показателя" -- ''Формула'';
- "Свойства" -- поставить чек-бокс на ''Агрегация''.
- Блок "Формула" -> выбрать "Константа" -> указать "1".
- Сохраните изменения.
{{ :product:olap:olap_case_5.png?nolink |}}
----------------
Куб готов. Вы можете использовать его для дальнейших вычислений. Например, чтобы узнать [[product:olap:case_average_bill|сумму среднего чека]]. \\
Проверить, что система посчитала, можно [[product:reports:olap|через создание OLAP-отчёта.]]