Платформа 3V/Отчет/2. Настроить столбцы/2.3. Настроить виртуальный показатель
Содержание
Описание
В отчет можно добавить виртуальный показатель - расчетный столбец, для которого можно настроить тип данных, расчет агрегации по столбцам таблицы, либо рассчитать формулу с использованием функций, доступных в платформе. Рассчитанные данные в виртуальном показателе хранятся в отчете.
Добавить виртуальный показатель можно:
1. Через конструктор отчета:
2. Прописать конструкцию в json отчета:
1 {
2 "dataType": "Double",
3 "isEditable": false,
4 "leftHeaderDictionaryIds": [],
5 "name": "Виртуальный показатель",
6 "indicatorId": -54157,
7 "isVisible": true,
8 "dictionaries": [],
9 "formulas": [],
10 "aggregations": [
11 {
12 "type": "None",
13 "destination": "Rows",
14 "dictionaryFilterOptions": []
15 },
16 {
17 "type": "None",
18 "destination": "Columns",
19 "dictionaryFilterOptions": []
20 }
21 ],
22 "useFullLeftHeaderHierarchy": false,
23 "recalcAggregationsOnAutoFilter": false,
24 "transformAggregationType": "None",
25 "discriminator": "VirtualIndicatorOptionsDto",
26 "columnOptions": {
27 "width": null,
28 "format": null,
29 "dataControlOptions": {
30 "format": null,
31 "mask": null,
32 "min": null,
33 "max": null,
34 "component": null
35 },
36 "isReadOnly": null,
37 "displayDuplicatedValues": null,
38 "duplicateValueOptions": "Undefined",
39 "allowChangeColumnValue": null,
40 "singleValueColumn": null,
41 "imageType": "None"
42 }
43 }
Пример расчетных формул
В отчет выведены трудозатраты из справочника 12. В данном справочнике также есть атрибут со временем, которое относится к той или иной трудозатрате, в секундах. Необходимо в отчете рассчитать время в часах. Для этого необходимо создать виртуальный показатель и прописать формулу (json выше)
"formulas": [ ] |
---|
1 {
2 "indicatorId": -6183,
3 "dictionaries": [],
4 "calculateByDiffs": false,
5 "leftHeaderPlacementKind": "AnyElement",
6 "expression": "[1]/3600",
7 "operands": [
8 {
9 "dictionaryId": 12,
10 "attribute": {
11 "id": 25,
12 "discriminator": "OwnAttributeDefinitionDto"
13 },
14 "code": null,
15 "id": 1,
16 "name": null,
17 "discriminator": "AttributeFormulaOperandDto"
18 }
19 ],
20 "code": null,
21 "id": 1,
22 "name": null,
23 "discriminator": "IndicatorFormulaDto"
24 }
|
Где:
indicatorId - идентификатор виртуального показателя
expression - формула
dictionaryId - идентификатор справочника
attribute.id - идентификатор атрибута в справочнике
operands.id - идентификатор операнда, используемого в формуле
formulas.id - идентификатор формулы
Результат: