Тип Шаблон Отчёт
Excel Скачать шаблон Скачать отчёт
Создать этот пример Выберите шаблон и создайте новый отчёт с помощью демонстрационного сервиса.

xtt->merge( iv_block_name = 'R' is_block =

JSON
{"TITLE":"Title","T":[{"GROUP":"GRP A","CAPTION":"<Caption 1 />","DATE":"2020-10-21","SUM1":5971.44,"SUM2":5021.46},{"GROUP":"GRP C","CAPTION":"<Caption 2 />","DATE":"2020-10-19","SUM1":2276.75,"SUM2":7717.2},{"GROUP":"GRP B","CAPTION":"<Caption 3 />","DATE":"2020-10-20","SUM1":3031.38,"SUM2":445.22},{"GROUP":"GRP A","CAPTION":"<Caption 4 />","DATE":"2020-10-21","SUM1":9476.79,"SUM2":3683.27},{"GROUP":"GRP A","CAPTION":"<Caption 5 />","DATE":"2020-10-21","SUM1":4604.0,"SUM2":5525.85},{"GROUP":"GRP C","CAPTION":"<Caption 6 />","DATE":"2020-10-19","SUM1":2159.71,"SUM2":2260.94},{"GROUP":"GRP B","CAPTION":"<Caption 7 />","DATE":"2020-10-20","SUM1":2490.3,"SUM2":6388.81},{"GROUP":"GRP A","CAPTION":"<Caption 8 />","DATE":"2020-10-21","SUM1":5476.81,"SUM2":406.18},{"GROUP":"GRP D","CAPTION":"<Caption 9 />","DATE":"2020-10-18","SUM1":689.66,"SUM2":518.6},{"GROUP":"GRP C","CAPTION":"<Caption 10 />","DATE":"2020-10-19","SUM1":5451.87,"SUM2":4061.85},{"GROUP":"GRP D","CAPTION":"<Caption 11 />","DATE":"2020-10-18","SUM1":4573.55,"SUM2":5436.0},{"GROUP":"GRP C","CAPTION":"<Caption 12 />","DATE":"2020-10-19","SUM1":1196.35,"SUM2":522.46},{"GROUP":"GRP C","CAPTION":"<Caption 13 />","DATE":"2020-10-19","SUM1":7686.95,"SUM2":2727.98},{"GROUP":"GRP D","CAPTION":"<Caption 14 />","DATE":"2020-10-18","SUM1":978.18,"SUM2":295.55},{"GROUP":"GRP D","CAPTION":"<Caption 15 />","DATE":"2020-10-18","SUM1":71.12,"SUM2":8878.56}],"DATE":"2020-10-21","TIME":"12:12:12","DATETIME":"20201021121212"}

).


xtt->merge( iv_block_name = 'A' is_block =

JSON
[{"INFO":"String 1 "},{"INFO":"String 2 "},{"INFO":"String 3 "}]

).


Создать демо 021

Different formulas

Предпросмотр запроса

Назначение

Демо-класс ZCL_XTT_DEMO_021 показывает, как формулы сохраняются при расширении строк и столбцов. Формулы следует создавать в Excel, где их можно проверить; формирование строк формул в ABAP усложняет поддержку и по-разному работает с абсолютными ссылками XLSX и относительными ссылками Excel XML.

Формулы в XTT

Прямое редактирование формул из кода запрещено, тк данный подход чреват ошибками и не очень информативен.
К тому же внутренне представление формул в Excel xlsx (абсолютные) и Excel xml (относительные) не позволяет использовать единообразный подход, если бы заполнение формул происходило со стороны ABAP.

Используйте следующие правила при редактировании формул непосредственно в Microsoft Excel.

Копирование данных

Добавление новых строк (и ячеек) происходит за счет копирования исходной строки в шаблоне. Вместе с данными ячеек, границами и прочим форматированием копируются и сами формулы.

Чтобы формулы “не поехали” при копировании можно использовать несколько способов:

Относительные ссылки в XLSX

Для относительных ссылок используйте OFFSET() (СМЕЩ()) вместе с INDIRECT() (ДВССЫЛ()), либо нотацию R1C1 через INDIRECT().

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

image

Смещение можно указать и напрямую в INDIRECT(“RC[-3]”,0), в таких формулах также может пригодится:

  • =ROW() / СТРОКА() и
  • *=COLUMN() СТОЛБЕЦ()*

которые без передачи аргументов возвращают текущую строку и столбец

Знак $ для строки

Для более простых формул XTT поддерживает специальное правило со знаком $:

Если указать номер текущей строки со знаком $, он будет заменен во время выполнения

image

В итоговом отчете будет так

image

PS: Для ;direction=column (те вывода таблицы по столбцам) данное правило соответственно будет работать для формул в таком виде $E

Shared formulas

Актуальная версия сохраняет повторяющиеся общие формулы при преобразовании абсолютных и относительных ссылок. Это устраняет потерю формул, характерную для старых выпусков. image


Именованные диапазоны ячеек

Если сослать на именованный диапазон, который будет изменен во время выполнения

  • Произойдет однократное растягивание всего диапазона

image

  • Если же название диапазона заканчивается на ‘_’ данный будет размножен и итоговый список будет заменен в самой формуле

image

Сумма дочерних элементов

Для суммы дочерних вовсе не обязательно использовать предыдущий способ с именованными ячейками или создавать иерархии

Если нужно просуммировать поле таблицы можно воспользоваться стандартными средствами Excel

image

Формулы массива

Формулы массива также поддерживаются

image

Word & PDF

Но что если нужно просуммировать значения поля не только в Excel, но и в Word или Pdf? В этом случае можно воспользоваться функциями агрегации ;func= SUM | AVG | COUNT | FIRST

Формулы с условным форматированием

Для формул в условных форматированиях, желательно указывать область действия в виде целых столбцов

image