Меню

Подход к реализации больших форматированных отчетов в SAP BW

|

1. Введение

На проектах внедрения отчетности с использованием хранилища данных SAP BW многим архитекторам и консультантам приходится решать задачи подготовки больших форматированных отчетов: разнообразных ведомостей, выписок и т.п. Такие отчеты обычно характеризуются:

  • Нестандартными относительно инструментов SAP требованиями к форматированию;
  • Фиксированным числом столбцов;
  • Значительным количеством столбцов и строк (соответственно, десятки и десятки тысяч и более);
  • Требованием наличия Excel-представления;
  • Требованием к времени выполнения не более нескольких минут.

Нередко приходится наблюдать ситуацию (для больших отчётов зачастую, к сожалению), когда архитекторы BW-проектов выбирают стандартный для BW подход к реализации таких отчетов.

2. Стандартный подход к реализации

Этапы стандартного подхода:

  1. Консультант создает рабочую книгу BW-BEx, которая содержит один или несколько BW-BEx-отчетов.
  2. Отчеты выгружаются на отдельные листы этой книги, которые обычно скрывают от пользователей.
  3. Видимым оставляют лишь один лист книги, содержащий целевую форму отчета с необходимым форматированием.

Порядок работы пользователя с отчетом:

  1. Пользователь запускает BW-BEx Analyzer или SBOP Analysis for Office (в зависимости от используемого Excel-инструмента SAP BW).
  2. Пользователь подключается к серверу SAP BW, выбирает из роли рабочую книгу и запускает ее на выполнение. Через несколько секунд (иногда – десятка секунд) появляется селекционный экран.
  3. На экране пользователь выбирает значения параметров. Например, год-месяц, балансовую единицу, группу материала и т.п. Затем нажимает кнопку «выполнить».
  4. Теперь настала очередь «поработать» для SAP BW: все BW-BEx-отчеты рабочей книги выполняются последовательно, отчет за отчетом, передавая на рабочие листы Excel свои данные.
  5. После получения в Excel данных каждого отчета запускается VBA-макрос. Логика работы макроса такова, что он ничего не делает, пока данные всех отчетов не будут получены на Excel-листы.
  6. Когда данные последнего отчета поступили на Excel-лист, VBA-макрос выполняет основную работу по подготовке форматирования отчета. Когда VBA-макрос завершил работу, пользователь может увидеть результат отчета в своем Excel.

Преимущества и превратности стандартного подхода

У стандартного подхода, тем не менее, есть два преимущества: он прост в реализации, и им хорошо владеют большинство специалистов на рынке. Но определенные ограничения не позволяют эффективно реализовать большие отчеты. А неэффективная реализация получается (если вообще получается) очень неудобной в работе, что негативно сказывается на отношении пользователей к проекту внедрения вообще и к SAP BW в частности. Основное ограничение – максимальное количество ячеек (число строк, умноженное на число столбцов) в отчете. Если их число приближается к эмпирическим 750000, то вероятность сбоя из-за нехватки памяти практически 100%. Т.е. отчет из всего 18 колонок и чуть более 40000 строк уже попадает под это ограничение. А ведь лимиты у Excel - намного больше.

Чего только не придумывают консультанты, чтобы, оставаясь в рамках стандартного подхода, качественно сделать-таки большой отчет. Но почти всегда ничего не получается. «Почти» означает компромиссы, послабления в требованиях. Бизнес-пользователи либо соглашаются применять более ограничивающие фильтры и отчет возвращает меньше данных, либо ждать выполнения подольше, либо вручную сводить несколько фрагментов отчета в один.

3. Путь к эффективному решению. Реализация подхода

3.1. Инструменты публикации BW-данных

Чтобы все-таки не говорить клиенту «нет, мы не можем этого реализовать при таких требованиях», необходимо для начала сделать правильные выводы из очевидного: каждый инструмент предназначен для «своей» задачи.

Инструменты BW BEx Analyzer и SBOP Analysis for Office в общем случае не предназначены для реализации эффективных отчетов с большим количеством ячеек, с числом около 750000 и более (см SAP-ноту 1040454). Поэтому, используя модель данных SAP BW, надо выбрать другой инструмент, другой подход в реализации. Тогда решение не только обязательно получится, но и будет при этом эффективным.

Последние версии SAP Netweaver, SAP BW и HANA внесли большее разнообразие подходов публикации BW-данных в Excel, без использования BW BEx. Можно упомянуть такие:

Подключение Excel через OData-сервисы напрямую к SAP Netweaver или даже к SAP HANA.

Подключение Excel к SAP HANA, как к базе данных, напрямую, через MDX

Однако, эти подходы требуют либо BW on HANA, либо новейших версий Excel, либо отклонений от привычных концепций полномочий, при которой пользователи

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти

Обсуждения Количество комментариев2

Комментарий от  

Виталий Глущенко

  |  29 декабря 2016, 13:54

Познавательно, а какие рекомендации будут если нужно выгружать 10 000 000 ячеек? Это отчеты со 100 000 строк и более.

Комментарий от  

Виталий Глущенко

  |  29 декабря 2016, 13:59

И еще вопрос про пункт
"3.3.5. Подготовка пользовательской транзакции, которая готовится на основе разработки из предыдущего пункта."
Не совсем понял, как предлагается работать пользователям.
Я правильно понял, что небольшие отчеты они по прежнему могут формировать напрямую из Excel через BW-BEx Analyzer или SBOP Analysis for Office, а для ресурсоемких отчетов он должен открыть SAP Logon, войти в систему и запустить отдельную транзакцию, которая выгрузит данные в Excel?