Платформа 3V/Отчет/1. Настроить строки/1.4. Дополнительные настройки/Настройка отображения только группировочных элементов по строкам: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{DISPLAYTITLE:Трансформации}} '''Трансформация''' - это метод группировки с заменой оригинальны...»)
 
 
(не показано 8 промежуточных версий 3 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE:Трансформации}}
+
{{DISPLAYTITLE:Настройка отображения только группировочных элементов по строкам (ранее - Трансформации)}}
  
 
'''Трансформация''' - это метод группировки с заменой оригинальных справочников боковика на связанные для связанных атрибутов или на временные [[#Временный справочник]] для обычных атрибутов.
 
'''Трансформация''' - это метод группировки с заменой оригинальных справочников боковика на связанные для связанных атрибутов или на временные [[#Временный справочник]] для обычных атрибутов.
Строка 28: Строка 28:
 
# '''TransformToSeparateDictionaries''' - обычная трансформация, заменяет справочник боковика на справочники группировочных атрибутов.
 
# '''TransformToSeparateDictionaries''' - обычная трансформация, заменяет справочник боковика на справочники группировочных атрибутов.
 
# '''TransformToSeparateDictionariesHierarchically''' - тоже самое только с выстраиванием иерархии.
 
# '''TransformToSeparateDictionariesHierarchically''' - тоже самое только с выстраиванием иерархии.
 +
 +
== Агрегация фактов показателя с трансформируемыми измерениями ==
 +
'''TransformAggregationType''' - тип агрегации группируемых значений фактов при трансформации измерений показателя. </br>
 +
 +
'''TransformAggregationType''' указывается в элементе шапки '''IndicatorOptionsDto'''.
 +
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  ...
 +
  "topHeader": {
 +
    "topHeaderItems": [
 +
    ...
 +
      {
 +
        ...
 +
        "transformAggregationType": "DistinctCount",
 +
        ...
 +
        "discriminator": "IndicatorOptionsDto"
 +
      }
 +
    ],
 +
    ...
 +
  },
 +
  ...
 +
}
 +
</syntaxhighlight>
 +
 +
# По умолчанию используется тип агрегации "Сумма".
 +
# '''TransformAggregationType''' может работать совместно с агрегацией указываемой для фактов показателя в '''IndicatorAggregationOptionsDto''' и они могут быть различны, т.е. агрегация при трансформации может быть "Сумма", а обычная агрегация по факту "Количество".
 +
 +
=== Пример ===
 +
'''Показатель перед трансформацией'''
 +
{| class="wikitable"
 +
|-
 +
! Значение трансформируемого справочника !! Факт
 +
|-
 +
| Статья №1 || 1
 +
|-
 +
| Статья №1 || 2
 +
|-
 +
| Статья №2 || 3
 +
|}
 +
'''Показатель после трансформации (Если TransformAggregationType будет равно сумме)'''
 +
 +
{| class="wikitable"
 +
|-
 +
! Значение справочника !! Факт
 +
|-
 +
| Статья №1 || 3
 +
|-
 +
| Статья №2 || 3
 +
|}
 +
 +
== Агрегация значений атрибутов трансформируемых справочников ==
 +
Свойство отвечающее за тип агрегации значений атрибута трансформируемого справочника, называется '''TransformAggregationType''', аналогично свойству для агрегации фактов показателя при трансформации.
 +
 +
'''TransformAggregationType''' для атрибутов указывается в настройках '''AttributeHeaderItemSettingsDto''' элемента шапки '''AttributeHeaderItemDto'''.
 +
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  ...
 +
  "topHeader": {
 +
    "topHeaderItems": [
 +
    ...
 +
      {
 +
        ...
 +
        "settings": {
 +
          ...
 +
          "transformAggregationType": "Sum"
 +
          ...
 +
        }
 +
        ...
 +
        "discriminator": "AttributeHeaderItemDto"
 +
      }
 +
    ],
 +
    ...
 +
  },
 +
  ...
 +
}
 +
</syntaxhighlight>
 +
 +
#По умолчанию никакой тип агрегации не используется, поэтому если не задать значение для '''TransformAggregationType''', то атрибут трансформируемого справочника будет убран из шапки пивота.
 +
#Если для атрибута будет задан '''TransformAggregationType''', то вместо атрибута будет добавлен виртуальный показатель куда будут записаны агрегаты значений атрибута по указанному типу агрегации.
 +
#'''TransformAggregationType''' может работать совместно с агрегацией '''AggregationType''' указываемой для атрибута в '''AttributeHeaderItemSettingsDto''' и они могут быть различны, т.е. агрегация при трансформации может быть "Сумма", а обычная агрегация "Количество".
 +
 +
 +
=== Пример ===
 +
'''Атрибуты справочника перед трансформацией'''
 +
{| class="wikitable"
 +
|-
 +
! Значение группировочного атрибута (не связанный) !! Значение атрибута выведенного в шапку с указанием TransformAggregationType = Sum
 +
|-
 +
| Статья №1 || 1
 +
|-
 +
| Статья №1 || 2
 +
|-
 +
| Статья №2 || 3
 +
|}
 +
'''Атрибуты справочника после трансформации'''
 +
{| class="wikitable"
 +
|-
 +
! Значение атрибута временного справочника !! Виртуальный показатель с агрегатами атрибута
 +
|-
 +
| Статья №1 || 3
 +
|-
 +
| Статья №2 || 3
 +
|}

Текущая версия на 08:20, 13 октября 2021


Трансформация - это метод группировки с заменой оригинальных справочников боковика на связанные для связанных атрибутов или на временные #Временный справочник для обычных атрибутов.

Для трансформации достаточно выбрать метод группировки GroupingMethod при описании справочника боковика.

 1 {
 2   ...
 3   "leftHeader": {
 4     "dictionaries": [
 5       {
 6         ...
 7         "groupingMethod": "TransformToSeparateDictionaries",
 8         ...
 9       }
10     ],
11     ...
12   }
13   ...
14 }

Временный справочник

Временный справочник - это генерируемый на уровне ядра справочник с уникальными значениями атрибута по которому проводится группировка.

Виды трансформации

  1. TransformToSeparateDictionaries - обычная трансформация, заменяет справочник боковика на справочники группировочных атрибутов.
  2. TransformToSeparateDictionariesHierarchically - тоже самое только с выстраиванием иерархии.

Агрегация фактов показателя с трансформируемыми измерениями

TransformAggregationType - тип агрегации группируемых значений фактов при трансформации измерений показателя.

TransformAggregationType указывается в элементе шапки IndicatorOptionsDto.

 1 {
 2   ...
 3   "topHeader": {
 4     "topHeaderItems": [
 5      ...
 6       {
 7         ...
 8         "transformAggregationType": "DistinctCount",
 9         ...
10         "discriminator": "IndicatorOptionsDto"
11       }
12     ],
13     ...
14   },
15   ...
16 }
  1. По умолчанию используется тип агрегации "Сумма".
  2. TransformAggregationType может работать совместно с агрегацией указываемой для фактов показателя в IndicatorAggregationOptionsDto и они могут быть различны, т.е. агрегация при трансформации может быть "Сумма", а обычная агрегация по факту "Количество".

Пример

Показатель перед трансформацией

Значение трансформируемого справочника Факт
Статья №1 1
Статья №1 2
Статья №2 3

Показатель после трансформации (Если TransformAggregationType будет равно сумме)

Значение справочника Факт
Статья №1 3
Статья №2 3

Агрегация значений атрибутов трансформируемых справочников

Свойство отвечающее за тип агрегации значений атрибута трансформируемого справочника, называется TransformAggregationType, аналогично свойству для агрегации фактов показателя при трансформации.

TransformAggregationType для атрибутов указывается в настройках AttributeHeaderItemSettingsDto элемента шапки AttributeHeaderItemDto.

 1 {
 2   ...
 3   "topHeader": {
 4     "topHeaderItems": [
 5      ...
 6       {
 7         ...
 8         "settings": {
 9           ...
10           "transformAggregationType": "Sum"
11           ...
12         }
13         ...
14         "discriminator": "AttributeHeaderItemDto"
15       }
16     ],
17     ...
18   },
19   ...
20 }
  1. По умолчанию никакой тип агрегации не используется, поэтому если не задать значение для TransformAggregationType, то атрибут трансформируемого справочника будет убран из шапки пивота.
  2. Если для атрибута будет задан TransformAggregationType, то вместо атрибута будет добавлен виртуальный показатель куда будут записаны агрегаты значений атрибута по указанному типу агрегации.
  3. TransformAggregationType может работать совместно с агрегацией AggregationType указываемой для атрибута в AttributeHeaderItemSettingsDto и они могут быть различны, т.е. агрегация при трансформации может быть "Сумма", а обычная агрегация "Количество".


Пример

Атрибуты справочника перед трансформацией

Значение группировочного атрибута (не связанный) Значение атрибута выведенного в шапку с указанием TransformAggregationType = Sum
Статья №1 1
Статья №1 2
Статья №2 3

Атрибуты справочника после трансформации

Значение атрибута временного справочника Виртуальный показатель с агрегатами атрибута
Статья №1 3
Статья №2 3