Частый кейс: нужно сопоставить (перемножить, поделить, сравнить) одни значения с другими.
Предположим, мы хотим посчитать цену отгруженного товара. Или посчитать ставку сотрудников по трудозатратам.
Разберемся на яблоках.
Чтобы всё получилось как надо, нам нужно две таблицы:
Системная таблица содержит какие-то константы или, по крайней мере, значения, актуальные на протяжении какого-то времени. Например:
| Дата записи | Фрукты | Цена за ед. |
|---|---|---|
| 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?
Создайте системную таблицу "Цена на фрукты":
Создайте таблицу "Продажа фруктов":
Создайте новый OLAP-куб "Цена сделок по фруктам":
Так будет выглядеть блок с измерениями в примере с яблоками:
Создайте показатель-запрос "Фруктов продано всего":
Создайте показатель-запрос "Актуальная цена на дату":
Создайте показатель-формулу "Цена сделки":
Создайте OLAP-отчёт, чтобы проверить, что получилось:
Вероятно, у вас возникнет вопрос, как вытащить, поменять поля, которые формируются показателями OLAP-куба. Они находятся не в блоке "Вывести список скрытых колонок", а прячутся в "Заголовках полей данных":
См. также: