Платформа 3V/Отчет/2. Настроить столбцы/2.2. Выбрать показатели для размещения в столбцах/2.2.5. Настроить сворачивание данных по справочникам: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
(Новая страница: «Страница в разработке»)
 
(Добавлено описание сворачивания показателей и его настройки.)
Строка 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

Описание

Сворачивание показателя - это процесс агрегации значений его фактов вдоль одного или нескольких измерений. Количество отображаемых измерений показателя при этом уменьшается на количество измерений, по которым производится сворачивание, а в качестве значений фактов отображаются агрегированные значения. Процесс сворачивания можно рассматривать как проецирование показателя в пространство меньшей размерности.
Возможно сворачивание по нескольким измерениям - в таком случае тип агрегации для всех сворачиваемых изменений один и тот же.

Пример

Для простоты и наглядности рассмотрим двумерный показатель с единственным вещественным фактом:

Исходный показатель.png

Предположим, мы хотим установить среднее значение для каждого из погодных условий за весь период наблюдений. В таком случае нам следует свернуть показатель по измерению "Календарь" с типом сворачивания (агрегации) "Среднее значение". При этом из двух измерений справочника останется только одно - "Погодные условия", а значения факта будут усреднены вдоль измерения "Календарь":

Свёрнутый показатель.png

Включение сворачивания

Следует понимать, что сворачивание измерений показателя - функциональность отчёта, и, соответственно, она может быть добавлена только в отчёт, содержащий показатель.

Через конструктор отчётов

Настройка сворачивания через конструктор отчётов (1).png
  • На вкладке "Столбцы" найти показатель, который требуется свернуть, и выбрать справочник, задающий сворачиваемое измерение.
  • Для выбранного справочника на вкладке "Свойства" поставить флаг "Сворачивать данные по справочнику".
  • При необходимости - повторить с остальными сворачиваемыми измерениями.
Настройка сворачивания через конструктор отчётов (2).png
  • Выбрать сворачиваемый показатель и на вкладке "Свойства" выбрать тип агрегации для значений фактов.















Через модель отчёта

Чтобы свернуть показатель, необходимо изменить тип соответствующего ему элемента шапки отчёта с IndicatorOptionsDto на ViewIndicatorOptionsDto, указать тип агрегации при сворачивании и перечислить справочники, задающие измерения, по которым происходит сворачивание, в dictionaryFilterOptions:

Без сворачивания


Со сворачиванием