Платформа 3V/Отчет/2. Настроить столбцы/2.2. Выбрать показатели для размещения в столбцах/2.2.5. Настроить сворачивание данных по справочникам: различия между версиями
(Новая страница: «Страница в разработке») |
(Добавлено описание сворачивания показателей и его настройки.) |
||
Строка 1: | Строка 1: | ||
− | + | {{DISPLAYTITLE:2.2.5. Настроить сворачивание данных по справочникам}} | |
+ | ==Описание== | ||
+ | Сворачивание показателя - это процесс агрегации значений его фактов вдоль одного или нескольких измерений. Количество отображаемых измерений показателя при этом уменьшается на количество измерений, по которым производится сворачивание, а в качестве значений фактов отображаются агрегированные значения. Процесс сворачивания можно рассматривать как проецирование показателя в пространство меньшей размерности. <br> | ||
+ | Возможно сворачивание по нескольким измерениям - в таком случае тип агрегации для всех сворачиваемых изменений один и тот же. | ||
+ | |||
+ | ==Пример== | ||
+ | Для простоты и наглядности рассмотрим двумерный показатель с единственным вещественным фактом: | ||
+ | [[Файл:Исходный показатель.png|обрамить|без]] | ||
+ | Предположим, мы хотим установить среднее значение для каждого из погодных условий за весь период наблюдений. В таком случае нам следует свернуть показатель по измерению "Календарь" с типом сворачивания (агрегации) "Среднее значение". При этом из двух измерений справочника останется только одно - "Погодные условия", а значения факта будут усреднены вдоль измерения "Календарь": | ||
+ | [[Файл:Свёрнутый показатель.png|обрамить|без]] | ||
+ | |||
+ | ==Включение сворачивания== | ||
+ | Следует понимать, что сворачивание измерений показателя - функциональность отчёта, и, соответственно, она может быть добавлена только в отчёт, содержащий показатель. | ||
+ | |||
+ | ===Через конструктор отчётов=== | ||
+ | [[Файл:Настройка сворачивания через конструктор отчётов (1).png|мини|слева]] | ||
+ | * На вкладке "Столбцы" найти показатель, который требуется свернуть, и выбрать справочник, задающий сворачиваемое измерение. | ||
+ | * Для выбранного справочника на вкладке "Свойства" поставить флаг "Сворачивать данные по справочнику". | ||
+ | * При необходимости - повторить с остальными сворачиваемыми измерениями. | ||
+ | [[Файл:Настройка сворачивания через конструктор отчётов (2).png|мини|слева]] | ||
+ | * Выбрать сворачиваемый показатель и на вкладке "Свойства" выбрать тип агрегации для значений фактов. | ||
+ | <br><br><br><br><br><br><br><br><br><br><br><br><br><br> | ||
+ | |||
+ | ===Через модель отчёта=== | ||
+ | Чтобы свернуть показатель, необходимо изменить тип соответствующего ему элемента шапки отчёта с ''IndicatorOptionsDto'' на ''ViewIndicatorOptionsDto'', указать тип агрегации при сворачивании и перечислить справочники, задающие измерения, по которым происходит сворачивание, в ''dictionaryFilterOptions'': | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | ||
+ | <div style="font-weight:bold;line-height:1.6;">Без сворачивания</div> | ||
+ | <div class="mw-collapsible-content mw-collapsed-content"> | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | ... | ||
+ | "topHeader": { | ||
+ | "topHeaderItems": [ | ||
+ | ... | ||
+ | { | ||
+ | "name": "Погода", | ||
+ | "indicatorId": 139041, | ||
+ | "isVisible": true, | ||
+ | "dictionaries": [ | ||
+ | { | ||
+ | "isVisible": null, | ||
+ | "displayAttributeId": null, | ||
+ | "elementCustomNames": [], | ||
+ | "groupingMethod": "Default", | ||
+ | "virtualElements": [], | ||
+ | "dictionaryId": 139040, | ||
+ | "filter": { | ||
+ | "value": null, | ||
+ | "skipIfValueNull": false, | ||
+ | "attributeId": null, | ||
+ | "attribute": { | ||
+ | "discriminator": "OwnAttributeDefinitionDto", | ||
+ | "id": 1 | ||
+ | }, | ||
+ | "conditionType": "AllElements", | ||
+ | "discriminator": "ValueConditionalDictionaryFilterDto", | ||
+ | "inversion": false | ||
+ | }, | ||
+ | "hierarchyId": null, | ||
+ | "limit": null | ||
+ | } | ||
+ | ], | ||
+ | "formulas": [], | ||
+ | "aggregations": [], | ||
+ | "useFullLeftHeaderHierarchy": false, | ||
+ | "recalcAggregationsOnAutoFilter": false, | ||
+ | "transformAggregationType": "None", | ||
+ | "discriminator": "IndicatorOptionsDto" | ||
+ | } | ||
+ | ], | ||
+ | ... | ||
+ | }, | ||
+ | ... | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </div></div> | ||
+ | <br> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | ||
+ | <div style="font-weight:bold;line-height:1.6;">Со сворачиванием</div> | ||
+ | <div class="mw-collapsible-content mw-collapsed-content"> | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | ... | ||
+ | "topHeader": { | ||
+ | "topHeaderItems": [ | ||
+ | ... | ||
+ | { | ||
+ | "sourceIndicatorId": 139041, | ||
+ | "aggregationType": "Avg", | ||
+ | "dictionaryFilterOptions": [ | ||
+ | { | ||
+ | "dictionaryId": 139040, | ||
+ | "filter": { | ||
+ | "value": null, | ||
+ | "skipIfValueNull": false, | ||
+ | "attributeId": null, | ||
+ | "attribute": { | ||
+ | "discriminator": "OwnAttributeDefinitionDto", | ||
+ | "id": 1 | ||
+ | }, | ||
+ | "conditionType": "AllElements", | ||
+ | "discriminator": "ValueConditionalDictionaryFilterDto", | ||
+ | "inversion": false | ||
+ | }, | ||
+ | "hierarchyId": null, | ||
+ | "limit": null | ||
+ | } | ||
+ | ], | ||
+ | "name": null, | ||
+ | "indicatorId": -36380, | ||
+ | "isVisible": true, | ||
+ | "dictionaries": [], | ||
+ | "formulas": [], | ||
+ | "aggregations": [], | ||
+ | "useFullLeftHeaderHierarchy": false, | ||
+ | "recalcAggregationsOnAutoFilter": false, | ||
+ | "transformAggregationType": "None", | ||
+ | "discriminator": "ViewIndicatorOptionsDto" | ||
+ | } | ||
+ | ], | ||
+ | ... | ||
+ | }, | ||
+ | ... | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | </div></div> |
Версия 14:49, 26 ноября 2021
Содержание
Описание
Сворачивание показателя - это процесс агрегации значений его фактов вдоль одного или нескольких измерений. Количество отображаемых измерений показателя при этом уменьшается на количество измерений, по которым производится сворачивание, а в качестве значений фактов отображаются агрегированные значения. Процесс сворачивания можно рассматривать как проецирование показателя в пространство меньшей размерности.
Возможно сворачивание по нескольким измерениям - в таком случае тип агрегации для всех сворачиваемых изменений один и тот же.
Пример
Для простоты и наглядности рассмотрим двумерный показатель с единственным вещественным фактом:
Предположим, мы хотим установить среднее значение для каждого из погодных условий за весь период наблюдений. В таком случае нам следует свернуть показатель по измерению "Календарь" с типом сворачивания (агрегации) "Среднее значение". При этом из двух измерений справочника останется только одно - "Погодные условия", а значения факта будут усреднены вдоль измерения "Календарь":
Включение сворачивания
Следует понимать, что сворачивание измерений показателя - функциональность отчёта, и, соответственно, она может быть добавлена только в отчёт, содержащий показатель.
Через конструктор отчётов
- На вкладке "Столбцы" найти показатель, который требуется свернуть, и выбрать справочник, задающий сворачиваемое измерение.
- Для выбранного справочника на вкладке "Свойства" поставить флаг "Сворачивать данные по справочнику".
- При необходимости - повторить с остальными сворачиваемыми измерениями.
- Выбрать сворачиваемый показатель и на вкладке "Свойства" выбрать тип агрегации для значений фактов.
Через модель отчёта
Чтобы свернуть показатель, необходимо изменить тип соответствующего ему элемента шапки отчёта с IndicatorOptionsDto на ViewIndicatorOptionsDto, указать тип агрегации при сворачивании и перечислить справочники, задающие измерения, по которым происходит сворачивание, в dictionaryFilterOptions: