| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| product:olap:request [30.05.2019 14:19] – mayn | product:olap:request [14.01.2025 08:15] (текущий) – [На основе запроса из другого OLAP-куба] ekaterina.menkhuzina |
|---|
| ====== Создание показателей на основе запроса ====== | ====== Создание показателей на основе запроса ====== |
| #недописаль | ===== Что такое показатель-запрос ===== |
| | Показатель -- это значение, которое будет отображаться в ячейке таблицы ([[product:reports:olap|в OLAP-отчёте]]), результат вычислений. |
| |
| | А показатель-запрос -- это **основа, начало всех вычислений в OLAP-кубе.** |
| |
| ===== Что такое показатель ===== | Именно этот показатель "собирает" все нужные числа (значения реквизитов-чисел) из: |
| Это значение, которое будет отображаться в ячейке таблицы, результат вычислений. | * справочников, |
| | * объектов |
| Показатель на основе запроса может быть сформирован из: | * или других OLAP-кубов. |
| * значений реквизитов справочников; | |
| * значений других OLAP-кубов; | |
| * значений реквизитов объектов. | |
| | |
| ===== Определение показателей и их типов ===== | |
| | |
| Показатель OLAP-куба на основе запроса -- массив (выборка) данных из значений числовых реквизитов справочников или пользовательских объектов системы, которые заданы в качестве источника запроса. | |
| | |
| Также источником запроса может являться другой OLAP-куб. | |
| | |
| <image shape="thumbnail">{{ :product:olap:olap_request_1.png?nolink |}}</image> | |
| <TEXT align="center">**Рисунок 1** -- Страница шаблона OLAP-куба</text> | |
| | |
| Показатели на основе запросов могут быть трех типов: | |
| - Показатель на основе запроса из справочника. | |
| - Показатель на основе запроса из объекта. | |
| - Показатель на основе запроса из другого OLAP-куба. | |
| |
| | {{ :product:olap:olap_illustration_2.png?nolink&850 |Возможные источники данных для показателя-запроса}} |
| |
| | * [[product/olap/about|На яблоках: как работает OLAP-куб]]. |
| | * [[product/olap/template|С рисунками на коленке: как создать новый OLAP-куб]]. |
| |
| ===== Создание показателей ===== | ===== Создание показателей ===== |
| |
| Чтобы создать новый показатель: | Чтобы создать новый показатель-запрос: |
| - зайдите в шаблон OLAP-куба (предварительно [[product/olap/template|его нужно создать]] и [[product/olap/new_metering|добавить измерение]]); | - зайдите в шаблон OLAP-куба (предварительно [[product/olap/template|его нужно создать]] и [[product/olap/new_metering|добавить измерения]]); |
| - в портлете "Показатели" -> ''Создать''; | - в блоке "Показатели" -> ''Создать''; \\ <image shape="thumbnail">{{ :product:olap:olap_request_1.png?nolink |Страница шаблона OLAP-куба}}</image> |
| - введите название показателя; | - введите название показателя; |
| - в портлете "Свойства показателя OLAP-куба" в поле "Тип показателя" должно стоять значение ''Запрос'' (выбрано по умолчанию). | - в блоке "Свойства показателя OLAP-куба" в поле "Тип показателя" должно стоять значение ''Запрос'' (выбрано по умолчанию). |
| - при необходимости поставьте чек-бокс в поле "[[#свойства|Свойства]]" -> ''Агрегация'' (как правило, при первичном сборе данных [[#агрегация|агрегация]] необходима). | - при необходимости поставьте чек-бокс в поле "[[#свойства|Свойства]]" -> ''Агрегация'' (как правило, при первичном сборе данных [[#агрегация|агрегация]] необходима). |
| - в портлете "Настройки запроса" выберите Источник: ''Справочник'', ''OLAP-куб'' или ''Объект''. | - в блоке "Настройки запроса" выберите Источник: ''Справочник'', ''OLAP-куб'' или ''Объект''. |
| |
| <callout type="primary" icon="true"> | <callout type="primary" icon="true"> |
| Выбор источника -- принципиальное решение для показателя типа "Запрос". В зависимости от этого выбора меняется функциональность и перечень доступных для выборки данных. | Выбор источника -- принципиальное решение для показателя типа "Запрос". В зависимости от этого выбора меняется функциональность и перечень доступных для выборки данных. |
| </callout> | </callout> |
| |
| <html> | |
| <!-- | |
| - в выпадающем меню тут же в поле "Источник" выберите нужный вам объект системы, из которого вы хотите вытащить данные для обработки; | |
| - в поле "Параметры": | |
| * ''Измерение OLAP-куба'' -- выбрать соответствующие измерения, которые [[product/olap/new_metering|были созданы ранее]]. Если в поле нет значения, значит, что измерение ещё не было создано и [[product/olap/new_metering|его нужно создать]]. Это название реквизита-классификатора в колонке ''Измерение источника''. | |
| * ''Дата OLAP-куба''... | |
| --> | |
| </html> | |
| |
| <tabs> | <tabs> |
| - В колонке ''Измерение OLAP-куба'' должны автоматически выбраться соответствующие измерения, которые были созданы на [[product/olap/new_metering|этапе создания измерений]]. | - В колонке ''Измерение OLAP-куба'' должны автоматически выбраться соответствующие измерения, которые были созданы на [[product/olap/new_metering|этапе создания измерений]]. |
| * Если какое-то из полей оказалось пустым, значит, измерение не было создано и [[product/olap/new_metering|его нужно создать]]. Название реквизита-классификатора, для которого не создано измерение указано в колонке ''Измерение источника''. | * Если какое-то из полей оказалось пустым, значит, измерение не было создано и [[product/olap/new_metering|его нужно создать]]. Название реквизита-классификатора, для которого не создано измерение указано в колонке ''Измерение источника''. |
| - В колонке ''Дата источника'' выберите одну из дат объекта, к которому прикреплен справочник – источник для запроса данных в куб. | - В колонке ''Дата источника'' выберите дату записи справочника (значение «Системный») или один из типов дат объекта, к которому прикреплен справочник – источник для запроса данных в куб. Эта дата будет использоваться для измерения дат, на базе которых формируется куб: |
| | * ''Дата создания'' -- дата и время создания объекта |
| | * ''Плановая дата начала'' (объекта) |
| | * ''Плановая дата окончания'' (объекта) |
| | * ''Фактическая дата начала'' (объекта) |
| | * ''Фактическая дата окончания'' (объекта) |
| | * ''Дата начала базового плана'' -- дата и время начала для объекта из последнего сохраненного базового плана |
| | * ''Дата окончания базового плана'' -- дата и время окончания для объекта из последнего сохраненного базового плана |
| | * ''Системный'' -- дата записи справочника. Имеет более высокий приоритет при формировании выборки показателей в отчете, чем даты объектов. <callout type="warning" icon="true">Если OLAP-кубе есть хотя бы один показатель-запрос из справочника, в котором в параметре ''Дата источника'' выбрано значение ''Системный'', то выборка дат для данных OLAP-куба по конкретному объекту будет начинаться с самой ранней даты записи в справочниках, по которым созданы показатели-запросы в кубе. Все данные по показателям с ''Датой источника'' на базе дат объектов (перечисленных в пунктах выше), которые будут раньше, чем самая ранняя дата всех записей всех справочников объекта (добавленных в показатели куба), не попадут в выборку OLAP-куба (и отчетов).</callout> |
| | * <название реквизита-даты из реквизитов объекта> -- дата из пользовательского реквизита |
| - В колонке ''Дата OLAP-куба'' выберите тип даты OLAP-куба, используемой для расчета: | - В колонке ''Дата OLAP-куба'' выберите тип даты OLAP-куба, используемой для расчета: |
| * ''Дата(точный)'' -- используется для большинства ситуаций, когда из числового реквизита нужно просто взять значение на конкретную дату. | * ''Дата(точный)'' -- используется для большинства ситуаций, когда из числового реквизита нужно просто взять значение на конкретную дату. |
| * ''Дата(относительный)'' -- используется, когда необходимо получить последнее значение из числового реквизита, относительно даты ячейки таблицы OLAP-куба. \\ Это нужно, как правило, для показателей-запросов из системных справочников. | * ''Дата(относительный)'' -- используется, когда необходимо получить последнее значение из числового реквизита, относительно даты ячейки таблицы OLAP-куба. \\ Используется для показателей-запросов из [[product:tables:admin:system_table|системных справочников]]. |
| - **Сохраните** показатель. | - **Сохраните** показатель. |
| |
| <TEXT align="center">**Рисунок 2B** -- Страница создания показателя на основе запроса из OLAP-куба</text> | <TEXT align="center">**Рисунок 2B** -- Страница создания показателя на основе запроса из OLAP-куба</text> |
| |
| - В поле ''Источник'' выберите название OLAP-куба, который будет являться источником для запроса. | 1. В поле ''Источник'' выберите название OLAP-куба, который будет являться источником для запроса. |
| - В поле ''Числовой реквизит'' выберите показатель куба-источника, данные из которого будут использоваться в создаваемом показателе. | |
| - В колонке ''Измерение OLAP-куба'' выберите соответствующие [[product/olap/new_metering|измерения]]. | 2. В поле ''Числовой реквизит'' выберите показатель куба-источника, данные из которого будут использоваться в создаваемом показателе. |
| | |
| | <callout type="warning" icon="true">Из OLAP-куба можно использовать только те показатели, которые **не являются** системными (исключением являются показатели трудозатрат). \\ Формулы, в которых участвуют системные показатели, также использовать нельзя.</callout> |
| | |
| | 3. В колонке ''Измерение OLAP-куба'' выберите соответствующие [[product/olap/new_metering|измерения]]. |
| * Если в каком-то из полей нет значений, доступных для выбора, то это означает, что измерение не было создано и его нужно создать. \\ Название [[product:requisites:requisite-class|реквизита-классификатора]], для которого не создано измерение указано в колонке ''Измерение источника''. | * Если в каком-то из полей нет значений, доступных для выбора, то это означает, что измерение не было создано и его нужно создать. \\ Название [[product:requisites:requisite-class|реквизита-классификатора]], для которого не создано измерение указано в колонке ''Измерение источника''. |
| - В колонке ''Дата OLAP-куба'' выберите заранее созданное измерение «Дата». | |
| - **Сохраните** показатель. | 4. В колонке ''Дата OLAP-куба'' выберите заранее созданное измерение «Дата». |
| | |
| | 5. **Сохраните** показатель. |
| |
| <callout type="info" icon="true">Опция ''Наследовать на подпроекты'' не доступна для показателей на основе запроса из OLAP-куба. Она определяется в настройках показателя в OLAP-кубе источнике запроса.</callout> | <callout type="info" icon="true">Опция ''Наследовать на подпроекты'' не доступна для показателей на основе запроса из OLAP-куба. Она определяется в настройках показателя в OLAP-кубе источнике запроса.</callout> |
| * Если какое-то из полей оказалось пустым, то это означает, что измерение не было создано и его нужно создать. \\ Название [[product:requisites:requisite-class|реквизита-классификатора]], для которого не создано измерение указано в колонке ''Измерение источника''. | * Если какое-то из полей оказалось пустым, то это означает, что измерение не было создано и его нужно создать. \\ Название [[product:requisites:requisite-class|реквизита-классификатора]], для которого не создано измерение указано в колонке ''Измерение источника''. |
| - В колонке ''Дата источника'' выберите дату объекта, которая будет использоваться для расчетов и вывода значений реквизита в отчет: | - В колонке ''Дата источника'' выберите дату объекта, которая будет использоваться для расчетов и вывода значений реквизита в отчет: |
| * ''Дата создания'' -- дата и время ввода значения реквизита в объекте. | * ''Дата создания'' -- дата и время создания объекта |
| * ''Плановая дата начала'' (объекта) | * ''Плановая дата начала'' (объекта) |
| * ''Плановая дата окончания'' (объекта) | * ''Плановая дата окончания'' (объекта) |
| * ''Фактическая дата начала'' (объекта) | * ''Фактическая дата начала'' (объекта) |
| * ''Фактическая дата окончания'' (объекта) | * ''Фактическая дата окончания'' (объекта) |
| - В колонке ''Дата OLAP-куба'' уточните тип даты OLAP-куба, используемой для расчета: | * ''Дата начала базового плана'' -- дата и время начала для объекта из последнего сохраненного базового плана |
| * ''Дата (точный)'' -- используется для большинства ситуаций, когда из числового реквизита нужно просто взять значение на конкретную дату. | * ''Дата окончания базового плана'' -- дата и время окончания для объекта из последнего сохраненного базового плана |
| * ''Дата (относительный)'' -- используется, когда необходимо получить последнее значение из числового реквизита, относительно даты ячейки таблицы OLAP-куба. Это нужно, как правило, для показателей-запросов из системных справочников. | * <название реквизита-даты из реквизитов объекта> -- дата из пользовательского реквизита |
| | - В колонке ''Дата OLAP-куба'' -- выберите ''Дата (точный)''((''Дата (относительный)'' не имеет смысла для объектов, не выбирайте этот вариант.)) |
| </pane> | </pane> |
| </tabs> | </tabs> |
| |
| ===== Свойства ===== | ===== Свойства ===== |
| |
| ====Доступность опций==== | |
| <grid> | |
| <col lg="5" sm="6" xs="12"> | |
| {{:product:olap:olap_interface_6.png?nolink}} | |
| </col> | |
| <col lg="7" sm="6" xs="12"> | |
| |
| ^ ^ Источник ^^^ | |
| ^ Свойство куба^ Справочник ^ OLAP-куб ^ Объект ^ | |
| | [[#агрегация|Агрегация]]| {{fa>check?2x&color=#267F00}} | {{fa>check?2x&color=#267F00}} | {{fa>check?2x&color=#267F00}} | | |
| | [[#наследовать_на_подпроекты|Наследовать на подпроекты]]| {{fa>check?2x&color=#267F00}} | {{fa>times?2x&color=#D9534F}} | {{fa>check?2x&color=#267F00}} | | |
| | [[#разрешить_null|Разрешить NULL]]| {{fa>check?2x&color=#267F00}} | {{fa>check?2x&color=#267F00}} | {{fa>check?2x&color=#267F00}} | | |
| | [[#скрытый|Скрытый]]| {{fa>check?2x&color=#267F00}} | {{fa>check?2x&color=#267F00}} | {{fa>check?2x&color=#267F00}} | | |
| | [[#сумма_как_последнее_значение_в_группе|Сумма как последнее значение в группе]]| {{fa>check?2x&color=#267F00}} | {{fa>check?2x&color=#267F00}} | {{fa>check?2x&color=#267F00}} | | |
| </col> | |
| </grid> | |
| ==== Агрегация ==== | ==== Агрегация ==== |
| | {{page>product/olap/indicator_options#для_показателя_значения&noheader&nofooter}} |
| |
| ^ ^Включена^Выключена^ | ==== Скрытый ==== |
| ^ Числовое значение|Выводится сумма значений по выбранному измерению|Если есть >1 записи, ничего не выводится ("значение не определено"). \\ Если есть 1 запись, выводится её значение. \\ Если записей нет, ничего не выводится ("значение не определено").| | {{page>product/olap/indicator_options#скрытый&noheader&nofooter}} |
| ^ Дата|Выводится максимальное значение из всех записей. (Самая поздняя дата).|:::| | |
| |
| ==== Наследовать на подпроекты ==== | ==== Наследовать на подпроекты ==== |
| Наследует значение показателя на дочерние объекты дерева иерархической структуры. | {{page>product/olap/indicator_options#наследовать_на_подпроекты&noheader&nofooter}} |
| | |
| <callout icon="fa fa-briefcase" title="Пример для справочника - «Вычисление премии участников проекта»"> | |
| **Условие:** ставки индивидуальны на каждый проект. | |
| | |
| **Реализация:** | |
| - задать ставки в специальном справочнике проекта, включить наследование значений на задачи; | |
| - справочник «Учет времени»((прикреплен к задачам)) -- источник о плановых/фактических трудозатратах; | |
| - умножить ставки на на трудозатраты с помощью [[product/olap/formula|показателе на основе формулы]]. | |
| </callout> | |
| | |
| <callout icon="fa fa-briefcase" title="Пример для объекта - «Вычисление средней стоимость строительства»"> | |
| | |
| **Реализация:** | |
| - справочник Бюджет -- заполняется в задаче проекта, из расчета на 1 кв.метр площади объекта (реквизит проекта «Площадь объекта»); | |
| - в проекте заполняется реквизит «Площадь объекта», значения которого наследуются в задачи проекта; | |
| - создать запрос на основе справочника из числового реквизита из справочника «Бюджет»; | |
| - перемножить бюджет на площадь с помощью [[product/olap/formula|показателя на основе формулы]]. | |
| | |
| </callout> | |
| | |
| ==== Разрешить NULL ==== | |
| | |
| Позволяет в незаполненных значениях показателя OLAP-куба оставить //пустое значение// -- null. По умолчанию (если опция не активирована) пустые значения показателя заменяются на 0. | |
| | |
| ==== Скрытый ==== | |
| | |
| Используется для вспомогательных показателей, используемых для промежуточных расчетов. Если включено, то при построении отчета этот показатель по умолчанию будет скрыт. | |
| |
| ==== Сумма как последнее значение в группе ==== | ==== Сумма как последнее значение в группе ==== |
| | {{page>product/olap/indicator_options#сумма_как_последнее_значение_в_группе&noheader&nofooter}} |
| |
| Позволяет отображать итоги по показателю не как сумму всех значений, а как значение из последнего временного периода, отображаемого в отчете. | ==== Разрешить NULL === |
| | {{page>product/olap/indicator_options#разрешить_null&noheader&nofooter}} |