1) Есть Таблица в WebIntelligenceследующего содержания:
2) Далее создадим новое сведение «Статьи»
3) Добавим его. Формула будет : =Конкатенация(« В т.ч. »; [L01 Пр2])
4) Перенесём Статьи в столбец с Группами
5) Удалим лишний столбец
6) Добавим формулу для Статей =NoFilter([Пок1] In( [L01 Пр2]))
7) Добавим быстрый фильтр для статей – 2,4,6
8) Добавим Итоги
9) Сделаем разбиение по группе
10) В свойствах разбиения необходимо убрать галочку «отображать нижний колонтитул», поставить галочку «Удалить повторяющиеся значения» и поставить галочку «отображать верхний колонтитутл»
11) Скроем группы
12) В колонтитул разбиения добавим Группы =[L01 Пр1]
13) Добавим показатель для групп =Sum(NoFilter([Пок1] In ([L01 Пр1])))
14) Поменяем цвет текста и фона для групп
15) Добавим верхний колонтитул для всего документа и подписи :Статьи и Группы, и Сумма, получим искомый результат :
16) Плюсом данного метода на мой взгляд является использование «фильтра» вместо условий if [L01 Пр2] InList(…) и тп. Вот, как пример – добавим ещё и статью 1
17) Мы видим, что всё отобразилось как надо.
В версии 4.0 должна появиться возможность скрывать столбцы и строки, тогда будет возможность сделать всё несколько по-другому. Также если существовала бы возможность скрывать нулевые строки – то всё тоже было бы не сложно, как пример – в BeX-е или на уровне Univers–а это сделать можно так:
В строках у нас оба признака –
Группы –переименуем его в Статьи и группы
Статьи – Пр2
В столбцах –
Невидимый показатель Сумма без ограничений
Невидимый показатель Пок1 в котором ограничения по группам и статьям, которые мы хотим увидеть
Для наглядности рассмотрим эту задачу на примере, в котором:
Группа = Branch (филиал):
Группа 1 = Cheboksary
Группа 2 = Kazan
Статья = Retailer (торговая точка):
Статья 1 = 1002060366 РЕАЛТРАНСАВТО_МАРПОСАДСКОЕ32
Статья 2 = 1002090033 ЧЕБОКСАРЫ-ЛАДА_ВОСТОЧНАЯ6
Статья 3 = 1002119451 Н-АВТО_МАРПОСАДСКОЕ7А
Статья 4 = 1002040129 АВТОЛАЙФ-ПРЕМИУМ_СПАРТАКОВСКАЯ2
Статья 5 = 1002040673 UR126_ПОБЕДЫ93
Статья 6 = 1002103737 РРТ_ЯМАШЕВА76
Сумма = Amount(сумма проданных товаров)
В таблице 3 изображена исходная таблица, в которой отображены продажи по 2м филиалам:
Таблица 3. Исходная таблица
Теперь нам необходимо изменить нашу таблица, чтобы она соответствовала таблице 2.
Я хочу предложить два способа решения данной задачи.
Для наглядности напишу подробно, так как даже к маленькой и простой задаче я всегда отношусь серьезно, так как считаю, что в бизнес аналитике важны даже незначительные детали.
Способ № 1
Для решения данной задачи мы воспользуемся обычной таблицей.
Далее я по пунктам подробно рассмотрю, как это можно сделать:
1) Вставим таблицу ( рис. 1), добавим необходимое кол-во строк (рис. 2) и заполним ее текстом (рис. 3), в соответствии с таблицей 2 (требуемый вид отчета):
Рис. 1. Вставка таблицы.
Рис. 2. Добавление строк.
Рис. 3. Таблица, в которой заполнены заголовки в 1 столбце.
2) Теперь можно заполнять нашу таблицу данными о продажах в торговым точкам.
У нас есть 2 варианта:
1)Создать переменные.
2)Написать формулу в строку.
Я воспользуюсь вторым вариантом рисунок 4 и 5.
Рис. 4. Вычисления внутри ячеек.
Рис. 5. Конечный результат.
Таким образом мы решили реальную задачу с помощью инструмента SAPBOWebInt.
Способ № 2.
Второй способ не самый удобный, но так же имеет право на существование.
Необходимо создать 6 отдельных запросов, каждый из которых будет нам возвращать требуемую сумму для строки.
Список отдельных запросов (рис. 6):
Сумма продаж в Чебоксарах
Сумма продаж в тт 1002090033 ЧЕБОКСАРЫ-ЛАДА_ВОСТОЧНАЯ6
Сумма продаж в Казани
Сумма продаж в тт 1002040129 АВТОЛАЙФ-ПРЕМИУМ_СПАРТАКОВСКАЯ2
Сумма продаж в тт 1002103737 РРТ_ЯМАШЕВА76
Сумма продаж в Казани и Чебоксарах
Рис. 6. Список категорий, полученных в отдельном запросе.
Результат и структура таблицы показаны на рисунках 7 и 8 соответственно:
Рис. 7. Структура таблицы.
Рис. 8. Результат.
Способ № 3.
Третий способ, еще неудобней, но также имеет право на существование.
Он отличается от способа № 2 только тем, что в колонке “Branch”мы будем использовать объект, типа “Detail”(рис. 9), для каждой строки будет свой запрос со своими фильтрами.
Рис. 9. Объект “Detail”.
На рисунке 10 и 11 изображены схема таблицы и Результат:
Рис. 10. Структура таблицы.
Рис. 11. Результат.
Способ №4.
Раз уж начал способы всякие придумывать:), то предложу еще один, последний.
Он уже относиться к области ETLи архитектуры.
Если у нас такой формат отчета очень популярен, и другие атрибуты и элементы не появяться, то можно создать атрибут который будет в себе содержать только такие значения, как представлены в колонке “Branch”.
В разделе «Материалы SAP CIS» и специалисты, и менеджеры найдут материалы мероприятий,
проведенных компанией SAP. В этом же разделе посетители, желающие пройти обучение на курсах
компании SAP, найдут всю необходимую информацию.
В разделе «Решения партнеров» и менеджеры, и специалисты найдут описания лучших
решений консалтинговых компаний. Все решения прошли проверку внедрением.
Сервис раздела «Магазин» дает возможность всем посетителям приобрести любые книги издательства SAP Press на английском языке, книги по SAP на русском языке, подписки на журнал SAP Professional Journal Россия и базы знаний SAP Experts, а также мультимедийные курсы по SAP.
Все комментарии (8)
Дмитрий Гераськин 11:10 16 мая 2011
Комментарий эксперта
Вариант 1.
На уровне юниверса создать иерархию, которая включает группы статей и статьи.
Создать запрос на основе иерархии групп статей и статей.
Использовать member selection (фильтр по выборке элементов иерархии) - исключить статьи 1,3,5.
Вариант 2.
Создать секцию для группы статей и добавить в эту секцию отображение подитога по группе статей.
Создать фильтр по статье на уровне блока секции (исключить статьи 1,3,5).
Пока никому не понтравилось
Дмитрий Буслов 16:06 25 ноября 2011
Комментарий эксперта
1) Есть Таблица в WebIntelligenceследующего содержания:
2) Далее создадим новое сведение «Статьи»
3) Добавим его. Формула будет : =Конкатенация(« В т.ч. »; [L01 Пр2])
4) Перенесём Статьи в столбец с Группами
5) Удалим лишний столбец
6) Добавим формулу для Статей =NoFilter([Пок1] In( [L01 Пр2]))
7) Добавим быстрый фильтр для статей – 2,4,6
8) Добавим Итоги
9) Сделаем разбиение по группе
10) В свойствах разбиения необходимо убрать галочку «отображать нижний колонтитул», поставить галочку «Удалить повторяющиеся значения» и поставить галочку «отображать верхний колонтитутл»
11) Скроем группы
12) В колонтитул разбиения добавим Группы =[L01 Пр1]
13) Добавим показатель для групп =Sum(NoFilter([Пок1] In ([L01 Пр1])))
14) Поменяем цвет текста и фона для групп
15) Добавим верхний колонтитул для всего документа и подписи :Статьи и Группы, и Сумма, получим искомый результат :
16) Плюсом данного метода на мой взгляд является использование «фильтра» вместо условий if [L01 Пр2] InList(…) и тп. Вот, как пример – добавим ещё и статью 1
17) Мы видим, что всё отобразилось как надо.
В версии 4.0 должна появиться возможность скрывать столбцы и строки, тогда будет возможность сделать всё несколько по-другому. Также если существовала бы возможность скрывать нулевые строки – то всё тоже было бы не сложно, как пример – в BeX-е или на уровне Univers–а это сделать можно так:
В строках у нас оба признака –
Группы –переименуем его в Статьи и группы
Статьи – Пр2
В столбцах –
Невидимый показатель Сумма без ограничений
Невидимый показатель Пок1 в котором ограничения по группам и статьям, которые мы хотим увидеть
И сумма:
Пока никому не понтравилось
Михаил Макаров 16:22 25 ноября 2011
Комментарий эксперта
Читаю данные в Web Int Rich Client
Убираю колонку «Сумма» в таблице
По переменной «Группа Статей» делаю разрыв и устанавливаю свойства:
Разбиения – Отображать нижний колонтитул – Снять галку
Разбиения – Удалять повторяющиеся значения – Снять галку
В свойствах таблицы:
убираю дополнительный цвет – По умолчанию
отображаю нижний колонтитул
отображаю верхний колонтитул
Копирую формат ячеек тела во все ячейки колонтитулов (как в задании)
В первой ячейке верхнего колонтитула переменной разрыва устанавливаю формулу:
=[Группа Статей], во второй ячейке - =NoFilter(Sum([Сумма]))
В первой ячейке нижнего колонтитула таблицы устанавливаю формулу-текст «Итого:»
во второй ячейке - =NoFilter(Sum([Сумма]))
В первой ячейке верхнего колонтитула таблицы устанавливаю формулу-текст «Статьи и группы», во второй ячейке – =NameOf([Сумма ])
В колонтитулах таблицы устанавливаем жирность шрифта
В ячейке данных первой колонки (выравниваем по центру) создаем Алерт по условию (выполняется всегда)
=1=1
В формате алерта заменяем содержимое ячеек на формулу
="В т.ч. "+[Статья ]
В ячейке данных второй колонки создаем Алерт по условию (выполняется всегда)
=1=1
В формате алерта заменяем содержимое ячеек на формулу
=[Сумма ]
Выравниваем суммы в колонтитулах – влево
Создаю элемент управления вводом по «Статье»
Выбираю – Флажки – Число строк = 10 – Назначить на содержимое отчета
Проверяю функционирование тестового задания
Пока никому не понтравилось
Дмитрий Гераськин 16:23 25 ноября 2011
Комментарий эксперта
Вариант 1.
На уровне юниверса создать иерархию, которая включает группы статей и статьи.
Создать запрос на основе иерархии групп статей и статей.
Использовать member selection (фильтр по выборке элементов иерархии) - исключить статьи 1,3,5.
Вариант 2.
Создать секцию для группы статей и добавить в эту секцию отображение подитога по группе статей.
Создать фильтр по статье на уровне блока секции (исключить статьи 1,3,5).
Пока никому не понтравилось
Дмитрий Аношин 16:46 25 ноября 2011
Комментарий эксперта
Для наглядности рассмотрим эту задачу на примере, в котором:
В таблице 3 изображена исходная таблица, в которой отображены продажи по 2м филиалам:
Таблица 3. Исходная таблица
Теперь нам необходимо изменить нашу таблица, чтобы она соответствовала таблице 2.
Я хочу предложить два способа решения данной задачи.
Для наглядности напишу подробно, так как даже к маленькой и простой задаче я всегда отношусь серьезно, так как считаю, что в бизнес аналитике важны даже незначительные детали.
Способ № 1
Для решения данной задачи мы воспользуемся обычной таблицей.
Далее я по пунктам подробно рассмотрю, как это можно сделать:
1) Вставим таблицу ( рис. 1), добавим необходимое кол-во строк (рис. 2) и заполним ее текстом (рис. 3), в соответствии с таблицей 2 (требуемый вид отчета):
Рис. 1. Вставка таблицы.
Рис. 2. Добавление строк.
Рис. 3. Таблица, в которой заполнены заголовки в 1 столбце.
2) Теперь можно заполнять нашу таблицу данными о продажах в торговым точкам.
У нас есть 2 варианта:
1)Создать переменные.

2)Написать формулу в строку.

Я воспользуюсь вторым вариантом рисунок 4 и 5.
Рис. 4. Вычисления внутри ячеек.
Рис. 5. Конечный результат.
Таким образом мы решили реальную задачу с помощью инструмента SAPBOWebInt.
Способ № 2.
Второй способ не самый удобный, но так же имеет право на существование.
Необходимо создать 6 отдельных запросов, каждый из которых будет нам возвращать требуемую сумму для строки.
Список отдельных запросов (рис. 6):
Рис. 6. Список категорий, полученных в отдельном запросе.
Результат и структура таблицы показаны на рисунках 7 и 8 соответственно:
Рис. 7. Структура таблицы.
Рис. 8. Результат.
Способ № 3.
Третий способ, еще неудобней, но также имеет право на существование.
Он отличается от способа № 2 только тем, что в колонке “Branch”мы будем использовать объект, типа “Detail”(рис. 9), для каждой строки будет свой запрос со своими фильтрами.
Рис. 9. Объект “Detail”.
На рисунке 10 и 11 изображены схема таблицы и Результат:
Рис. 10. Структура таблицы.
Рис. 11. Результат.
Способ №4.
Раз уж начал способы всякие придумывать:), то предложу еще один, последний.
Он уже относиться к области ETLи архитектуры.
Если у нас такой формат отчета очень популярен, и другие атрибуты и элементы не появяться, то можно создать атрибут который будет в себе содержать только такие значения, как представлены в колонке “Branch”.
Пока никому не понтравилось