KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Базы данных » Сергей Маклаков - Моделирование бизнес-процессов с BPwin 4.0

Сергей Маклаков - Моделирование бизнес-процессов с BPwin 4.0

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Сергей Маклаков, "Моделирование бизнес-процессов с BPwin 4.0" бесплатно, без регистрации.
Перейти на страницу:

Если возвращаемое значение имеет тип Time, в качестве операнда можно использовать Datetime. Если возвращаемое значение имеет тип Datetime, в качестве операнда можно использовать Time, при этом в качестве даты используется 1 января 0001 года.

Арифметические операторы могут использоваться только с числами. Если возвращаемое значение число, автоматически конвертация типов не производится. Для конвертации типов в этом случае следует явно использовать функции конвертации (см. табл. 2.2.3).

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

2.2.8. Функции RPTwin

Функции RPTwin позволяют производить сложные вычисления и обработку данных отчета. Так же как и операторы, функции возвращают значение определенного типа. Для внесения функции в формулу можно дважды щелкнуть по функции в списке Functions диалога Formula Editor.

Агрегативные функции позволяют производить вычисления по нескольким строкам отчета. Некоторые функции (Sum, Avg, Min, Max, Count) выполняются контекстно, т. е. возвращают результат в зависимости от той секции отчета, в которой находятся. Например, если функция Sum(number) находится в секции Group Footer, она возвращает сумму, вычисленную по группе, если в Page Footer - то по странице. Другие агрегативные функции (GroupAvg GroupSum, GroupMin, GroupMax, GroupCount, ReportAvg, ReportCount, ReportMax, ReportMin, ReportSum) возвращают значение независимо от их расположения в отчете. Даже если функция ReportSum (number) находится в секции Group Footer, она возвращает сумму, вычисленную по всему отчету. Агрегативные функции группы, такие, как GroupAvg, вычисляют значения независимо от того, в какой секции текущей группы они расположены. Если такая функция располагается, например, в секции Report Footer, она вычисляет агрегативное значение по всему отчету.

RPTwin является двухпроходным (Two-Pass, другой термин - Look-Ahead) генератором отчетов. Это означает, что отчет выполняется в два этапа. На первом этапе просматриваются все данные и вычисляются значения функций. На втором этапе происходит непосредственно процесс печати или вывода на экран в режиме предварительного просмотра. Поэтому значения агрегативных функций Sum, Avg, Min, Max, Count будут вычисляться одинаково, независимо от того, расположены ли они в секции Footer или Header.

Полный список функций RPTwin приведен в табл. 2.2.3.


Таблица 2.2.3. Функции RPTwin






2.2.9. Использование формул RPTwin

Рассмотрим построение отчета RPTwin по модели процессов, изображенной на рис. 2.2.11. Модель описывает процесс изготовления изделия и имеет три уровня декомпозиции. В ней описаны следующие свойства, определяемые пользователем (UDP):

уровень декомпозиции (Integer List, допустимые значения в модели - 0,1,2);

потребление электроэнергии, кВт-ч (Real Number);

потребление воды, т (Real Number).

Контекстной работе ("Изготовление изделия") присвоено значение UDP "Уровень декомпозиции", равное 0, работам на диаграмме декомпозиции контекста -1 и работам на диаграммах декомпозиции нижнего уровня -2. Значения свойств "Потребление электроэнергии, кВт-ч" и "Потребление воды, т" присвоены только работам на диаграммах декомпозиции нижнего уровня.

Создание UDP в BPwin и присвоение значений работам подробно описано в 1.3.


Рис. 2.2.11. Дерево узлов модели процессов

Непосредственно в среде BPwin невозможно оценить количество ресурсов (электроэнергия и вода), необходимых для производства изделия, поскольку невозможно производить арифметические операции с UDP. В отчете Diagram Object Report, фрагмент которого приведен на рис. 2.2.12, можно получить только список работ с указанием их UDP, но невозможно отфильтровать работы и произвести расчеты суммарных значений, необходимых для производства изделия ресурсов.


Рис. 2.2.12. Отчет по UDP (Diagram Object Report), полученный средствами BPwin


Создать отчет со сложной обработкой данных возможно только средствами RPTwin. Для создания такого отчета необходимо в диалоге настройки отчета Diagram Object Report в качестве формата отчета указать RPTwin, после чего щелкнуть по кнопке Report. В появившемся диалоге сохранения файла следует указать имя файла данных отчета (.LWD). После этого автоматически запускается RPTwin и появляется диалог New Report. В диалоге New Report в качестве типа создаваемого отчета следует указать Columnar. Создается шаблон отчета, включающий в себя все колонки файла набора данных отчета (рис. 2.2.13).


Рис. 2.2.13. Шаблон отчета "Ресурсы, необходимые для изготовления изделия "

Фрагмент отчета (режим предварительного просмотра) представлен на рис. 2.2.14.

Ресурсы, необходимые для изготовления изделия

11/20/2001

Activity NameУровеньПотребление Потребление

декомпозиции элекгроэнерг воды.т ии, кВт ч

Изготовление изделияО

Переработка сырья1

Сортировка брака250

Изготовление полуфабриката2402

Изготовление деталей1

Выбор способа изготовления210

детали

Рис. 2.2.14. Отчет "Ресурсы, необходимые для изготовления изделия"


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

Поскольку UDP, определяющие потребление ресурсов, заданы только для работ нижнего уровня декомпозиции, можно оставить в отчете только эти работы. Для установки фильтра в среде RPTwin нужно выбрать пункт меню Options/Filter. В диалоге Filter (рис. 2.2.15) следует выбрать опцию Include и щелкнуть по кнопке Formula Editor.

Рис. 2.2.15. Диалог Filter

В диалоге Formula Editor нужно создать формулу {Уровень декомпозиции}=2

В результате в отчет войдут только работы с уровнем декомпозиции 2, т. е. только те работы, для которых заданы значения UDP "Потребление электроэнергии, кВт-ч" и "Потребление воды, т".

Теперь можно удалить из отчета поле и заголовок "Уровень декомпозиции".

Сгруппируем работы по уровню энергопотребления. Для этого следует выбрать пункт меню Layout/Sorting and Grouping. Будем считать, что работы, имеющие значение UDP "Потребление электроэнергии, кВт-ч" больше 10, относятся к высокому уровню энергопотребления, от 5 до 10 -к среднему и менее 5 - к низкому. В файле данных отчета нет колонки, непосредственно указывающей на уровень энергопотребления, поэтому следует провести группировку по вычисляемому значению. Для создания вычисляемого значения в диалоге Sorting/Grouping следует щелкнуть по кнопке Sort/Group on Calculated Value и в появившемся диалоге Formula Editor набрать текст формулы:


If {Потребление электроэнергии, кВт-ч} >10 Then "Высокие энергозатраты"

Else If {Потребление электроэнергии, кВт-ч} < 5

Then "Низкие энергозатраты" Else "Средние энергозатраты"

В шаблоне отчета создаются две новые секции - Group Header и Group Footer.

В секцию Group Header поместим формулу

If {Потребление электроэнергии, кВт-ч} >10 Then "Высокие энергозатраты"

Else If {Потребление электроэнергии, кВт-ч} <5

Then "Низкие энергозатраты" Else "Средние энергозатраты"

В секцию Group Footer поместим формулы с агрегативными функциями: "Итоговое потребление воды работ с " & (If {Потребление электроэнергии, кВт-ч} >10 Then "высоким" Else If {Потребление электроэнергии, кВт-ч} <5 Then "низким" Else "средним") &" энергопотреблением- " &GroupSum ({Потребление воды, т})&", т"

И

"Итоговое потребление электроэнергии работ с " & (If {Потребление электроэнергии, кВт-ч} >10 Then "высоким" Else If {Потребление электроэнергии, кВт-ч} <5 Then "низким" Else "средним") &" энергопотреблением - " &GroupSum ({Потребление электроэнергии, кВт-ч})&", кВт-ч"

В секции Report Footer расположим формулы

"Итоговое потребление электроэнергии " &ReportSum ({Потребление электроэнергии, кВт-ч})&", кВт-ч"

и

"Итоговое потребление воды " &ReportSum ({Потребление воды, т})&",т" На рис. 2.2.16 представлен результат - итоговый отчет по потреблению ресурсов, который содержит суммирующую информацию по UDP и сложную группировку по вычисляемому полю. Суммирующие показатели потребления ресурсов вычисляются как по всему отчету, так и по категориям работ.

Ресурсы, необходимые для изготовления изделия

Имя работыПотребление воды, т Потребление электроэнергии, кВт-ч

Высокие энергозатраты

Испытание на стенде2 40

Изготовление полуфабриката2 40

Переработка полуфабриката в деталь6 60

Итоговое потребление электроэнергииработ с высоким энергопотреблениеи -140, кВт-ч Итоговое потребление воды работ с высоким энергопотреблением-10, т

Низкие энергозатраты

Проверка блоков0 3

Внешний осмотр0 1

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*