+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 92.01 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Business View: Некоторые примеры применения формул

18.07.2011 10:29
Наталья Пригодина

Темой данного примера послужила часто встречающаяся задача - подсчет итогов по группам. Но не обычных итогов, для которых было бы достаточно "Итогового поля" или "Поля Промежуточного результата", а итогов, которые вычисляются на уровне группы, но не имеют смысла на уровне строки. Например, процент отгруженных заявок за месяц или доля трудоустроенных сотрудников от общего числа обратившихся. Источником данных будет Business View TEST, которое мы построили в предыдущей статье (приведем здесь только основные скриншоты). А считать мы будем процент завершенных событий по группе "Тип события", предполагая, что аналитика такого рода поможет нам выявить события, на которые необходимо обратить внимание управляющему персоналу.

Рисунок 1. Соединение данных

Рисунок 2. Основание данных

Теперь добавим отличия от предыдущего примера. Каждое событие в нашей базе теперь получит признак - "Завершено / Не завершено". Добавим в таблицу Action поле IsClosed (bit), которое, конечно же, может принимать значения True или False. Таблица примет такой вид.

Таблица Action. Таблица фактов (событий), произошедших за определенное время

DateAction

Дата события

TypeActionId

Идентификатор типа события

EmployeeId

Идентификатор сотрудника

Description

Некое описание

IsClosed

Завершено ли событие (Да/Нет)

Итак, нам необходимо сгруппировать события по "Типам Событий", выяснив процент завершенных. Также необходимо подсчитать процент завершенных событий по всему отчету. Особенностью таких расчетов является невозможность использования стандартных "Итоговых полей" со стандартными функциями агрегации.

Добавим в наш источник данных новое поле. И формулу "Закрыто", которая возвращает 1, если в поле IsClosed стоит True и 0, если поле False.

Рисунок 3. Основание данных.

Включаем новую формулу в бизнес-элемент.

Рисунок 4. Бизнес-элемент.

И, наконец, включаем бизнес-элемент "Действия по сотрудникам и типам событий" в Business View.

Рисунок 5. Бизнес-вью.

Создадим отчет, воспользуемся стандартными способами и объектами Crystal Reports.

Источник данных:

Рисунок 6. Источник данных.

Расположим поля, установим группировку.

Рисунок 7. Отчет с установленной группировкой.

Подводим итоги. Обратите внимание, что на Рисунке 9 в вычисляемом итоге стоит "Сумма", а не "Количество" - так как это поле - формула, возвращающая 1 или 0.

Рисунок 8. Итог. Количество событий.

Рисунок 9. Итог. Количество завершенных событий.

Рисунок 10. Полученные итоги.

В случае отсутствия событий определенного типа у определенных сотрудников в строке не выводится 0, а просто пустое место. В зависимости от задачи можно заменить  поля "Событие" и "Завершено да/нет" на формулу, возвращающую значение или 0 в случае отсутствия такого события. В нашем случае это неважно: пустая строка, наоборот, подчеркивает отсутствие таких сочетаний.

Далее необходимо вывести поле, вычисляющее процент завершенных событий. Для этого мы воспользуемся формулой:

Рисунок 11. Расчет процента завершенных событий по группе Тип События.

Используя эту формулу, получаем:

Рисунок 12. Разместили формулу.

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

Рисунок 13. Формула во второй группе.

Опять формула! Повторю, для каждой группы необходимы будут расчеты, относящиеся только к этой группе и никакой другой. Несмотря на то, что они рассчитывают "одно и то же" - процент завершенных событий, они разные, и сами результаты между собой не соотносятся, нельзя вычислить их среднее, сумму и использовать прочие агрегирующие функции. А если таких значений не одно, как у нас в примере, количество событий? Допустим, их несколько - например, количество событий по признаку 1, по признаку 2 и так далее. И все они должны располагаться столбиками. Данный пример может иллюстрировать как базу данных, где эти значения действительно лежат в своих столбцах, так и форму отчета, которая утверждена каким-либо документом, и мы вынуждены выводить наши значения столбцами. В этом случае процент "Завершенных" (они могут быть и "начатыми", и "конфликтными", и еще многовариантно какими) должен будет рассчитываться по каждому столбцу, и количество формул возрастает во много раз.

Разумеется, мы предложили "чисто отчетное" решение данной проблемы, вполне возможно, что эта задача может быть переложена, например, на БД, но это уже совсем другой подход, который мы здесь не рассматриваем.

Строим BusinessView. Часть 1

Строим BusinessView. Часть 2

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года