====== Что такое OLAP-куб и принцип его настройки ====== OLAP-куб -- это инструмент, который напоминает сводную таблицу в Excel. Принцип работы примерно тот же: сгруппировать по одинаковому признаку числа или даты -- и далее делать с ними дополнительные действия или вычисления. ------------------ Всё начинается с того, что нужно вытащить числа по каким-то критериям. Какие есть числа про проект? -- [[product:requisites:number|Реквизиты-числа]] в [[product:objects:admin:about|объектах]] (задачах, например) и в [[product:tables:about|справочниках]]. Но нужно не просто взять и всё сложить, а вычленить по какому-то признаку. Этим признаком может быть: * [[product:requisites:requisite-class|реквизит-классификатор]] (выбор из преднастроенного списка); * [[product:requisites:requisite-prosess|реквизит-процесс]] (тот же классификатор, только с заданной последовательностью выбора значений); * [[product:objects:date:dates|дата]]. ===== OLAP на яблоках ===== {{ :product:olap:apples.png?nolink&200 }} Возьмём такую исходную таблицу (в терминологии ADVANTA -- справочник): ^Фрукт^Количество^ |Яблоко|2| |Груша|3| |Апельсин|1| |Яблоко|2| |Груша|4| |Апельсин|1| |Яблоко|7| |Груша|4| |Апельсин|2| Первый этап преобразования -- создать [[product/olap/request|показатель-запрос]], агрегировать (суммировать) данные по признаку: ^Фрукт^Количество^ |Яблоко|11| |Груша|11| |Апельсин|4| ------------------- Усложним задачу. Предположим, что есть два разных проекта -- проект Маши и проект Васи. ^Проект^Фрукт^Количество^ |Маши|Яблоко|2| |Васи|Груша|3| |Маши|Апельсин|1| |Васи|Яблоко|2| |Маши|Груша|4| |Васи|Апельсин|1| |Маши|Яблоко|7| |Васи|Груша|4| |Маши|Апельсин|2| Когда этот куб выстроится в виде OLAP-отчёта, получится: ^Проект^Фрукт^Количество^ |Маши|Яблоко|9| |:::|Груша|4| |:::|Апельсин|3| |Васи|Яблоко|2| |:::|Груша|7| |:::|Апельсин|1| ------------ Теперь представим, что измерений стало еще больше. Добавили критерий свежести. ^Проект^Фрукт^Свежий^Количество^ |Маши|Яблоко|да|2| |Васи|Груша|да|3| |Маши|Апельсин|нет|1| |Васи|Яблоко|да|2| |Маши|Груша|да|4| |Васи|Апельсин|нет|1| |Маши|Яблоко|да|7| |Васи|Груша|да|4| |Маши|Апельсин|нет|2| |Маши|Яблоко|да|2| |Васи|Груша|да|3| |Маши|Апельсин|нет|1| |Васи|Яблоко|да|2| |Маши|Груша|да|4| |Васи|Апельсин|да|1| |Маши|Яблоко|нет|7| |Васи|Груша|да|4| |Маши|Апельсин|да|2| Но в OLAP-отчёте (или сводной таблице) просто появился еще один маркер "Свежесть": ^Проект^Фрукт^Свежий?^Количество^ |Васи|Апельсин|да|1| |:::|:::|нет|1| |:::|Груша|да|14| |:::|Яблоко|да|4| |Маши|Апельсин|да|2| |:::|:::|нет|4| |:::|Груша|да|8| |:::|Яблоко|да|11| |:::|:::|нет|7| А можно показатели поменять местами... ^Свежий?^Фрукт^Проект^Количество^ |да|Апельсин|Васи|1| |:::|:::|Маши|2| |:::|Груша|Васи|14| |:::|:::|Маши|8| |:::|Яблоко|Васи|4| |:::|:::|Маши|11| |нет|Апельсин|Васи|1| |:::|:::|Маши|4| |:::|Яблоко|Маши|7| И так далее. Можно добавлять всё новые и новые измерения, по которым будет проводиться расчёт. \\ Измерений может быть не 2, как в обычной таблице, а не ограниченное количество: {{:product:olap:olap_about_1.png?nolink&600|}} ===== От яблок к ADVANTA ===== * "Какой фрукт", "Свежий?" и "Чей проект" -- это [[product/olap/new_metering|измерения OLAP-куба]]; * то, что содержится в ячейках -- результат вычислений по правилам из показателя. \\ В примере выше самый простой вариант -- [[product/olap/request|показатель-запрос]] с [[product/olap/request#агрегация|агрегированием]]... причём, судя по контексту, скорее всего, из [[product:tables|справочника]]. \\ Этот же показатель-запрос -- основа для всех последующих сложных вычислений. **[[product/olap/template|Подробно о том, как создать новый OLAP-куб.]]** OLAP-куб в ADVANTA -- это заготовка вычислений. Чтобы увидеть результат, нужно на основе созданного OLAP-куба создать [[product:reports:olap|OLAP-отчёт]]. И/или использовать этот OLAP-куб [[product/olap/request|как источник для дальнейших вычислений]].