Кейс: Использование константы из справочника в OLAP-кубе
Частый кейс: нужно сопоставить (перемножить, поделить, сравнить) одни значения с другими.
Предположим, мы хотим посчитать цену отгруженного товара. Или посчитать ставку сотрудников по трудозатратам. 
Разберемся на яблоках. 
Чтобы всё получилось как надо, нам нужно 2 справочника:
Системный справочник содержит какие-то константы или, по крайней мере, значения, актуальные на протяжении какого-то времени. 
Например:
	
	
		| Дата записи | Фрукты | Цена за ед. | 
	
	
	
		| 01.01.2010 | Яблоки | 10 | 
	
	
		| 01.01.2018 | Яблоки | 50 | 
	
 
И обычный справочник, с информацией об объёмах проданного товара:
	
	
		| Дата записи | Фрукты | Единиц | 
	
	
	
		| 01.06.2013 | Яблоки | 2 | 
	
	
		| 02.03.2015 | Яблоки | 3 | 
	
	
		| 30.12.2017 | Яблоки | 1 | 
	
	
		| 10.02.2018 | Яблоки | 4 | 
	
	
		| 29.10.2018 | Яблоки | 2 | 
	
	
		| 16.07.2019 | Яблоки | 1 | 
	
 
 
Предположим, надо узнать, сколько всего мы заработали на всех поставках суммарно. Для этого перемножим цену яблок, актуальную на определённые даты, на объём проданных яблок.
Как это сделать в ADVANTA?
 
Шаг 1. Создать и заполнить системный справочник
Создайте системный справочник «Цена на фрукты».
 Администрирование → Структура базы данных → Справочники → создать новый справочник.
 Использовать дату – Да, ручной ввод.
 
 Структура записей справочника – Горизонтальный список.
 
 Остальные значения – оставить по умолчанию.
 
 
- 
 
- 
 
 Заполнить значения этого справочника: 
 Администрирование → Структура базы данных → Справочники → напротив нужного справочника 

 
 
 Добавить/изменить необходимые записи. 
 
 
Важно!
Даты в этом справочнике должны быть более ранними, чем те, которые будут в обычном, куда пользователи будут 
делать записи. В противном случае, даты друг друга «не найдут».
 
 
Шаг 2. Создать и заполнить обычный справочник
Создайте справочник «Продажа фруктов».
 Администрирование → Структура базы данных → Справочники → 
создать новый справочник. 
В настройках справочника ориентируйтесь на свои бизнес-процессы и удобство пользователей.
 
 
- 
 
- 
 
 Заполнить значения этого справочника: 
 пригласить пользователей заполнить значения справочника;
 
 импортировать записи справочника;
 
- 
 
 
 
Шаг 3. Создать OLAP-куб и настроить его
3.1 Новый шаблон куба
Создайте новый OLAP-куб «Цена сделок по фруктам».
 Администрирование → Структура базы данных → OLAP-кубы → Создать.
 
 Заполните поля формы:
 Название – Цена сделок по фруктам;
 
 Описание – может помочь для поиска нужного OLAP-куба при дальнейших настройках;
 
 выберите иконку, чтобы было проще ориентироваться;
 
 Число цифр после запятой – укажите количество знаков, до которого будут округляться значения показателей в отчетах; по умолчанию значение «2».
 
 чек-бокс Показывать только одну (последнюю по времени) запись по проекту оставить пустым.
 
 Режим обновления – выберите в зависимости от общей нагруженности системы и размеров данных, с которыми куб будет работать. 
Чтобы данные для пользователей в отчётах открывались быстро, выберите «Один раз в сутки» или «По таймеру». 
Настройки таймера. 
 
 
 
3.2 Создать измерения
 В созданном шаблоне OLAP-куба в блоке «Измерения» → Создать.
 
- 
 
 Создайте измерение-связь между справочниками – это реквизит-классификатор «Фрукты»: 

 
 
Если у вас есть другие реквизиты-классификаторы в справочниках, добавьте их в измерения. Вдруг пригодятся. ;)
Так будет выглядеть блок с измерениями в примере с яблоками:
 
3.3 Показатель-запрос из обычного справочника
Создайте показатель-запрос «Фруктов продано всего».
 В блоке «Показатели» → Создать.
 
 Блок «Свойства показателя OLAP-куба»:
 введите название измерения – Фруктов продано всего;
 
 «Тип показателя» – Запрос;
 
 «Свойства» – поставить чек-бокс на Агрегация.
 
 
 Блок «Настройки запроса»:
 «Источник» – Справочник → выберите из списка справочник «Продажа фруктов» (название того справочника в который пользователи вносят информацию);
 
 «Реквизит» – выберите тот числовой реквизит, в который пользователи вносят количество проданных фруктов. 
Если числовой реквизит в справочнике один, то и выбора не будет. Он встанет сюда сам.
 
 «Параметры»:
 «Измерение OLAP-куба» – выберите измерение-связующее между справочниками – Фрукты;
 
 «Дата источника» – все даты, кроме «Системной» – это даты, которые относятся к объекту, из которого была сделана запись в справочник; чтобы получить дату именно записи в справочник, выбирайте Системный;
 
 «Дата OLAP-куба» – Дата (точный).
 
 
 
 Сохраните изменения.
 
 
3.4 Показатель-запрос из системного справочника
Создайте показатель-запрос «Актуальная цена на дату».
 В блоке «Показатели» → Создать.
 
 Блок «Свойства показателя OLAP-куба»:
 введите название измерения – Актуальная цена на дату;
 
 «Тип показателя» – Запрос;
 
 «Свойства» – поставить чек-бокс на Скрытый.
 
 
 Блок «Настройки запроса»:
 «Источник» – Справочник → выберите из списка справочник «Цена на фрукты» (название системного справочника);
 
 «Реквизит» – выберите тот числовой реквизит, куда внесена цена на фрукты. 
Если числовой реквизит в справочнике один, то и выбора не будет. Он встанет сюда сам.
 
 «Параметры»:
 «Измерение OLAP-куба» – выберите измерение-связующее между справочниками – Фрукты;
 
 «Дата источника» – Системный;
 
 «Дата OLAP-куба» – Дата (относительный).
 
 
 
 Сохраните изменения.
 
 
3.5 Показатель-формула, чтобы посчитать
Создайте показатель-формулу «Цена сделки».
 В блоке «Показатели» → Создать.
 
 Блок «Свойства показателя OLAP-куба»:
 введите название измерения – Цена сделки;
 
 «Тип показателя» – Формула;
 
 «Свойства» – поставить чек-бокс на Агрегация.
 
 
 Блок «Формула» → последовательно Добавить показатель Актуальная цена на дату, знак *, показатель Фруктов продано всего.
 
 Сохраните изменения.
 

 
Шаг 4. Проверить, что получилось
Создайте OLAP-отчёт, чтобы проверить, что получилось.
 Рабочий стол ADVANTA (Главная страница) → в модуле слева «Мои отчёты» → «+ Добавить отчёт».
 
 Выберите в блоке с отчётами OLAP-куб с «Цена сделок по фруктам».
 
 Выберите в 
фильтре те объекты, к которым привязан справочник, куда пользователи вносят данные.
 
 
 Посмотрите, что получилось.
 
Вероятно, у вас возникнет вопрос, как вытащить, поменять поля, которые формируются показателями OLAP-куба. 
Они находятся не в блоке «Вывести список скрытых колонок», а прячутся в «Заголовках полей данных»:


См. также: