Оглавление Назад Далее

6. Создание качественных отчетов с помощью RPTwin *

6.1. Создание простейших отчетов в RPTwin *

6.1.1. Создание нового отчета *

6.1.2. Инструментальная среда RPTwin *

6.2. Форматирование отчетов *

6.2.1. Вставка и форматирование объектов отчета *

6.2.2. Группировка и сортировка данных отчета *

6.2.3. Изменение файла данных отчета *

6.2.4. Изменение свойств отчета *

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

6.3.1. Создание формул RPTwin *

6.3.2. Функции RPTwin *

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

 

6. Создание качественных отчетов с помощью RPTwin

6.1. Создание простейших отчетов в RPTwin

6.1.1. Создание нового отчета

 

RPTwin является специализированным генераторам отчетов, который позволяет создавать качественные отчеты по моделям процессов и данных. RPTwin входит в поставку как BPwin, так и ERwin. Функциональность RPTwin позволяет создавать не просто отчеты презентационного качества, что само по себе очень важно. Включение в RPTwin более 40 функций позволяет производить сложную обработку данных, получая при этом результат, который невозможно получить средствами ERwin или BPwin. Например, при оценке функциональной модели BPwin можно использовать средства стоимостного анализа (АВС) и свойства, определяемые пользователем (UDP) (см. гл. 1). По умолчанию общая стоимость процесса вычисляется как сумма стоимостей работ декомпозиции. В отличие от стоимостного анализа BPwin не может производить подсчет суммарного значения свойства UDP. Экспорт отчета по UDP в RPTwin позволяет создать отчет, включающий в себя сложную обработку данных, в том числе подсчет суммирующего значения UDP, среднего значения, максимального значения и т. д. и т. п.

После создания отчета в ERwin или BPwin и выбора RPTwin в качестве формата (Report Format) возникает диалог сохранения данных отчета, где необходимо указать имя файла. Все отчеты RPTwin создаются на основе файла данных отчета, который имеет расширение LWD. Запускается RPTwin и возникает диалог New Report (рис. 6.1). Новый отчет можно создать и непосредственно из среды RPTwin (меню File/New), при создании следует указать имя файла данных отчета (LWD).

Рис. 6.1. Диалог New Report

 

В диалоге New Report можно выбрать тип создаваемого отчета.

1. Quick Reports - создание простейших отчетов.

2. Guided Reports - при выборе отчета Guided Reports возникает диалог Guided Report (рис. 6.2), в котором, начиная с простого отчета, можно шаг за шагом создать отчет с сортировкой, группировкой и сложным форматированием данных.

Рис. 6.2. Диалог Guided Report

 

6.1.2. Инструментальная среда RPTwin

 

После выбора типа отчета в диалоге New Report и задания необходимых опций отчет создается автоматически. Ниже будет описан интерфейс версии 3.02.

В окне RPTwin показывается окно DataSet Columns и шаблон отчета (рис. 6.3).

 

 

 

Рис. 6.3. Шаблон отчета

 

Шаблон отчета включает несколько секций:

В секциях отчета могут располагаться следующие элементы:

В верхней части окна RPTwin располагается панель инструментов. Функциональность панели инструментов доступна из основного меню RPTwin и показана в таб.6.1.

 

Таблица 6.1. Описание элементов управления основной панели инструментов RPTwin

Элементы управления

Описание

Соответствующие пункты меню

 

Создать новый отчет

File/New

 

Открыть отчет

File/Open

 

Сохранить отчет

File/Save

 

Напечатать отчет

File/Print

 

Просмотр отчета

File/Print Preview

 

Привязка объектов отчета к сетке (Snap to Grid)

Layout/Snap to Grid

 

Выбор стиля шрифта

 

 

 

Выбор типа и размера шрифта

 

 

Форматирование поля

 

 

 

RPTwin имеет также палитру инструментов (ToolBox). Назначение кнопок палитры инструментов приведено в табл. 6.2.

 

Таблица 6.2. Описание элементов управления палитры инструментов

Элемент управления

Функция

 

Режим указателя

 

Добавить текстовое поле

 

Добавить формулу

 

Добавить разрыв страницы

 

Добавить специальное поле - время выполнения отчета

 

Добавить специальное поле - номер страницы

 

Добавить специальное поле - дату выполнения отчета

 

Добавить специальное поле - номер записи

 

Добавить специальное поле - количество записей. Если это поле добавляется в секцию Group Footer, подсчитывается количество строк в группе, если в Report Footer - в отчете

 

Добавить OLE-объект

 

DataSet Columns (см. рис. 6.3) показывает список полей набора данных из LWD-файла. Эти поля могут быть включены в отчет при помощи техники drag&drop. Список DataSet Columns можно перемещать по рабочему пространству отчета, можно скрыть его или вновь сделать видимым (пункт меню View/DataSet Columns List).

 

6.2. Форматирование отчетов

6.2.1. Вставка и форматирование объектов отчета

 

Созданный в диалоге New Report отчет может быть изменен - в него могут быть добавлены новые объекты, свойства существующих объектов могут быть изменены.

Поле данных содержит информацию из файла данных или вычисляемые значения. Поле данных может быть трех типов:

Поля могут быть включены в любую секцию отчета. Простые поля можно включить в отчет просто "перетаскивая" их (drag&drop) из окна DataSet Columns List в соответствующую секцию.

Для включения специального поля можно воспользоваться палитрой инструментов (см. табл. 6.2) или меню Insert/Special Field. Специальное поле должно быть включено в строго определенную секцию отчета. Так, например, номер страницы может быть включен в Page Header или в Page Footer, общее количество строк (Record Count) - в Group Footer, Page Footer или Report Footer.

Для редактирования свойств полей данных следует щелкнуть правой кнопкой мыши по полю и выбрать во всплывающем меню пункт Data Field Properties.

Возникает диалог Data Field Properties (рис. 6.4), в котором можно изменить следующие свойства поля:

Рис. 6.4. Диалог Data Field Properties

Текстовые поля (Text Field) могут использоваться в отчете для заголовков, подписей и другой поясняющей информации. Они могут содержать буквы, цифры и специальные символы. Для вставки текстового поля можно воспользоваться кнопкой !!! в палитре инструментов или меню Insert/Text Field.

При внесении поля или при его редактировании (для редактирования свойств текстового поля следует щелкнуть правой кнопкой мыши по полю и выбрать во всплывающем меню пункт Text Field Properties) возникает диалог Text Field Properties (рис. 6.5), в котором можно внести текст поля (Text), имя (Name), изменить рамки (Borders), его размеры и расположение на отчете.

Для удаления поля следует щелкнуть по нему левой кнопкой мыши и нажать на клавишу Delete на клавиатуре.

Рис. 6.5. Диалог Text Field Properties

 

Помимо текстовых или специальных полей в отчет могут быть включены OLE-объекты. Для вставки текстового поля можно воспользоваться кнопкой !!! в палитре инструментов или меню Insert/OLE Object. При внесении OLE-объекта возникает диалог Вставка объекта (Insert Object), рис. 6.6, в котором следует указать либо тип вновь создаваемого объекта, либо имя файла, содержащего объект. Если вставляется существующий объект, он будет добавлен в секцию отчета, если новый - вызовется соответствующее приложение для создания объекта.

Рис. 6.6. Диалог "Вставка объекта'

 

Для редактирования OLE-объекта следует дважды щелкнуть по нему кнопкой мыши. Вызывается приложение для редактирования объекта, причем в большинстве случаев меню приложения встраивается в меню RPTwin.

Некоторые OLE-объекты могут быть преобразованы в другой тип. Для преобразования типа объекта следует щелкнуть по нему правой кнопкой мыши и выбрать во всплывающем меню пункт Объект/Преобразовать (Object/Convert). В появившемся диалоге Преобразование (Convert) следует указать новый тип объекта и щелкнуть по кнопке ОК.

Для изменения свойств следует щелкнуть по нему правой кнопкой мыши и выбрать во всплывающем меню пункт OLE Object Properties. В появляющемся диалоге OLE Object Properties можно задать такие свойства объекта, как расположение в отчете или размеры.

 

6.2.2. Группировка и сортировка данных отчета

 

RPTwin позволяет выстроить данные отчета в определенном порядке (сортировка) либо объединить их в группы (группировка). Так, в примере на рис. 6.3 отчет сгруппирован по имени стрелки, другими словами, в каждую группу включаются данные, относящиеся к одной определенной стрелке.

Для установления сортировки и группировки следует выбрать пункт меню Layout/Sorting and Grouping. Появляется диалог Sorting/Grouping (рис. 6.7).

Рис. 6. 7. Диалог Sorting/Grouping

 

В левом списке диалога (DataSet Columns) содержатся имена всех полей набора данных, в правом (Sort/Group On) - список полей, по которым производится сортировка или группировка.

Для установки сортировки по полю необходимо выбрать его в левом списке и щелкнуть по кнопке Add>. Затем следует выбрать опцию Sort Only и установить порядок сортировки - по возрастанию (Ascending) или по убыванию (Descending). Опция Case Sensitive устанавливает режим сортировки - учитывать ли при сортировке регистр данных.

Для установки группировки по полю необходимо выбрать его в левом списке и щелкнуть по кнопке Add>. Затем следует выбрать опцию Group and Sort и установить порядок сортировки. Группы сортируются автоматически - нельзя установить группировку по полю без сортировки. Опции with Header и with Footer (установлены по умолчанию) включают в отчет секции Group Header и Group Footer.

RPTwin позволяет установить сортировку и группировку по вычисляемому значению. Для создания вычисляемого значения следует щелкнуть по кнопке Sort/Group on Calculated Value и в появившемся диалоге Formula Editor набрать текст формулы (например, "LTrim ({Arrow Name})"). Синтаксис формул будет рассмотрен в гл. 6.3. Созданная формула автоматически добавляется в правый список диалога Sorting/Grouping.

 

6.2.3. Изменение файла данных отчета

 

Любой отчет RPTwin использует в качестве источника единственный файл данных (.LWD), имя которого указывается при создании отчета. Иногда необходимо использовать созданный шаблон отчета (файл-LWR) для работы с различными наборами данных. RPTwin позволяет изменить файл набора данных.

Для этого необходимо выбрать пункт меню Options/Current DataSet. Появляется диалог Current DataSet (рис. 6.8), который содержит два поля ввода - DataSet Currently In Use By This Report и DataSet Linked To This Report. Поле DataSet Currently In Use By This Report показывает файл данных, который используется в отчете. В поле DataSet Linked To This Report показывается файл, который сохраняется вместе с отчетом. Обычно в обоих полях показывается один и тот же файл.

Если необходимо временно использовать другой файл данных, следует указать его имя в верхнем поле. Новый файл данных должен иметь те же самые имена колонок, что и старый, типы колонок также должны совпадать. Если имена или типы колонок не совпадают, поля отчета получают имя Bad Formula.

Рис. 6.8. Диалог Current DataSet

 

Если необходимо изменить файл данных для его постоянного использования в дальнейшем, следует указать его имя в нижнем поле и щелкнуть по кнопке Link. Указанный файл данных (*.LWD) будет связан с текущим файлом шаблона отчета (*.LWR). По умолчанию указывается полное имя файла (путь+имя), которое запоминается в шаблоне отчета. Если не указывать путь (кнопка No Path), то шаблон отчета не привязывается к конкретному месту на диске. В этом случае RPTwin сначала ищет файл данных в каталоге по умолчанию (DATASETS), затем в каталоге, в котором содержится файл шаблона отчета, затем в текущем каталоге.

 

6.2.4. Изменение свойств отчета

 

RPTwin позволяет изменять свойства как уже созданного отчета, так и новых отчетов. Свойства существующего отчета редактируются в диалогах Current Layout и Page Layout. Так, рассматриваемые ниже свойства Show Text Borders, Add Names to New Data Fields, Snap Objects To Grid, Show Grid, Measurement Units, Number Formats и Enable Case Sensitive Sort для уже созданного отчета можно изменить в диалоге Current Layout (меню Options/Current Layout).

Те же самые свойства для вновь создаваемых отчетов редактируются в диалоге Page Layout (рис. 6.9).

Опция Default Data Format позволяет задать форматирование полей отчета по умолчанию. Отдельно задается формат для полей разных типов:

Datetime, Date, Time, Number, Money. Форматирование каждого поля в уже созданном отчете можно изменить в диалоге Data Field Properties (см. рис. 6.4).

По умолчанию RPTwin создает многоколоночный отчет, разбивая его по ширине, в случае необходимости - на несколько страниц. Если включить опцию Fit All Columns on One Page, то колонки будут сжаты так, чтобы уместить отчет по ширине на одной странице.

Рис. 6.9. Диалог Current DaiaSet

 

В группе Margins устанавливается ширина поля отчета всантиметрах или дюймах (Units).

Если опция Show Text Borders включена, все текстовые поля отчета заключаются в рамки.

При включенной опции Add Names to New Data Fields новые поля вносятся в отчет вместе с текстовым полем - именем колонки в файле данных.

Snap Objects To Grid позволяет жестко связать поля с координатной сеткой.

Show Grid - показывает координатную сетку.

В группе Number Formats задается формат числовых полей - разделители, символ валюты и др.

Опция Enable Case Sensitive Sort позволяет учитывать при сортировке различия в регистре.

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

6.3.1. Создание формул RPTwin

 

RPTwin позволяет преобразовать в формулу любое поле данных. Для этого в диалоге Data Field Properties (см. рис. 6.4) следует щелкнуть по кнопке Formula Editor. Возникает диалог Formula Editor (рис. 6.10).

Рис.6.10. Диалог Formula Editor

 

По умолчанию в верхнем поле диалога (Formula:) отображается имя текущего поля данных отчета. В это поле следует внести текст создаваемой формулы. В левом списке диалога DataSet Columns содержится список колонок файла данных отчета, в правом (Functions) - список функций RPTwin. В нижнем списке (Operators) содержится список операторов. Для внесения колонки, функции или оператора в текст формулы следует дважды щелкнуть по соответствующей строчке списка. Группа кнопок Edit облегчает редактирование текста формулы. Текст формулы должен удовлетворять требованиям синтаксиса формул RPTwin. Если формула содержит ошибку, то при закрытии диалога Formula Editor (кнопка OK) возникнет диалог PLATINUM RPTwin с сообщением об ошибке.

Рассмотрим синтаксические правила формул RPTwin.

Имена колонок. Имена колонок не должны начинаться с цифры и не должны содержать специальных символов (пробел, символ оператора и т. д.). Имя колонки в примере на рис. 6.10 содержит пробел, что является ошибкой. Для использования имен колонок, содержащих специальные символы, их следует заключить в фигурные скобки. Имена полей, не содержащие специальных символов, можно использовать без скобок. Имя "Arrow Dest. Type" - неверное, имена "{Arrow Dest. Type}" и "Name" - не содержат ошибки. Если имя колонки содержит пробелы в начале или конце строки, эти пробелы должны быть заключены в фигурные скобки - "{ Name}" (два пробела в начале имени) или "{Name }" (два пробела в конце имени).

Операторы. RPTwin поддерживает три типа операторов:

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

Оператор конкатенации позволяет сложить значения текстовых полей. При создании формул, оперирующих с текстом, следует учитывать, что строковые константы заключаются в двойные кавычки. Так, если значение поля Arrow Dest. - "Брак", а поля Arrow Name - "Output", то результатом выполнения формулы "{Arrow Dest.}&" "&{ Arrow Name}" будет "Брак Output".

Типы данных. При выполнении действий над данными необходимо соблюдать правила соответствия типов. Если создать формулу ""Arrow" + 1.0", то RPTwin выдаст сообщение об ошибке несоответствия типов - текст не может быть сложен с числом. RPTwin различает пять типов данных:

Если возвращаемое значение формулы - строка, то в некоторых случаях при несоответствии типов RPTwin не выдает ошибки, а конвертирует операнды в соответствующий тип. Например, выражение "3&5" будет выполнено без ошибки. Число 3 конвертируется в строку "З", 5 - в "5", результатом выполнения формулы будет строка "35".

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

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

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

 

6.3.2. Функции 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, Мах, Count будут вычисляться одинаково, независимо от того, расположены ли они в секции Footer или Header.

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

 

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

Функция

Возвращаемое значение

Abs(number)

Абсолютное значение аргумента

Age(date)

Полное число лет от даты аргумента до сегодняшнего числа

Avg(numbcr)

Среднее значение аргумента по строкам (контекстно)

Cos(number)

Косинус аргумента

Count()

Количество строк (контекстно)

DateQ

Дата выполнения отчета

DateTime()

Дата и время выполнения отчета

DayName(date)

Наименование дня даты недели аргумента (по-английски), например "Saturday"

DayNameAbr(date)

Сокращенное наименование дня недели даты аргумента (по-английски), например "Sat"

DayOfMonth(date)

Число - день месяца даты аргумента

DayOfWeek(date)

Число - день недели даты аргумента, например воскресенье - 1, суббота - 7

DayOfYear(date)

Число - день года

DayBetween(datel, date2)

Число - количество дней между двумя датами аргументов

GroupAvg(number)

Среднее значение аргумента по группе

GroupCount(number)

Количество строк в группе

GroupMax(number)

Максимальное значение аргумента по группе

GroupMin(number)

Минимальное значение аргумента по группе

GroupSum(number)

Сумма аргумента по группе

Hour(time)

Часы (0-23) даты аргумента

If test Then value 1 [Else value2\

Условный оператор. Test - логический предикат, принимающий значение "Истина" или "Ложь". Если Test = "Истина", выполняется выражение value 1, если "Ложь" - value2

InitCap(text)

Текст аргумента, все символы которого в нижнем регистре, за исключением первых символов слов, например InitCap("aRRoW naMe") возвращает "Arrow Name"

Lcase(text)

Текст аргумента, все символы которого в нижнем регистре

Leftftext, number)

Первые символы слева текста первого аргумента. Количество символов указывается во втором аргументе

LTrim(text)

Текст аргумента без символов пробела слева (если таковые имелись)

MakeDate(MM,DD,YY)

Дата, сгенерированная по трем числам, например MakeDate(l,2,1999) возвращает 2 января 1999 года

MakeMoney(number)

Тип money, конвертированный из аргумента number

MakeTime(HH,MI,SS)

Время, сгенерированное по трем числам - часы, минуты, секунды

Max(number)

Максимальное значение аргумента по строкам (контекстно)

Mid(text, number 1, number2)

Подстрока первого аргумента, начиная с позиции numberi и включая number2 символов

Min(number)

Минимальное значение аргумента по строкам (контекстно)

Minite(time)

Количество минут времени аргумента (0-59)

Mod(numberl,number2)

Остаток от деления первого аргумента на второй, например Mod(7,3) возвращает 1

Month(date)

Порядковый номер месяца даты аргумента (1-12)

MonthName(date)

Наименование месяца даты аргумента (по-английски), например "April"

MonthNameAbr(date)

Сокращенное наименование месяца даты аргумента (по-английски), например "Арг"

PageNum()

Номер страницы

Quarter(date)

Квартал даты аргумента (1 -4)

RecNum()

Номер строки отчета

Replace(mainText, oldText, newText)

Замена символов в строке mainText - старого фрагмента oldText на новый newText

ReportAvg(number)

Среднее значение аргумента по отчету

ReportCount(number)

Количество строк в отчете

ReportCumAvg(number)

Среднее значение аргумента, вычисляемое контекстно. Если ReportCumAvg расположена в секции Detail, функция будет возвращать среднее значение аргумента всех вышестоящих строк отчета

ReportCumMax(number)

Максимальное значение аргумента, вычисляемое контекстно. Вычисляется аналогично ReportCumAvg

ReportCumMin(number)

Минимальное значение аргумента, вычисляемое контекстно. Вычисляется аналогично ReportCumAvg

ReportCumSum(number)

Сумма аргумента, вычисляемая контекстно. Вычисляется аналогично ReportCumAvg

ReportMax(number)

Максимальное значение аргумента по отчету

ReportMin(number)

Минимальное значение аргумента по отчету

ReportSum(number)

Сумма аргумента по отчету

Right(mainText, number)

Первые символы справа текста первого аргумента. Количество символов указывается во втором аргументе

Round(numberTo Round, precisionNumber)

Округленное значение первого аргумента. Во втором аргументе указывается точность округления, например Round(12345,500) возвращает 12500

RTrim(text)

Текст аргумента без символов пробела справа (если таковые имелись)

Second(time)

Количество секунд времени аргумента (0-59)

Sign(number)

1, если аргумент положительный, 0, если равен нулю и -1, если аргумент отрицательный

Sin(number)

Синус аргумента

Sum(number)

Сумма значений аргумента по строкам (контекстно)

Tan(number)

Тангенс аргумента

Time()

Текущее время

ToDate(text, fonnat)

Дата, конвертированная из текстовой строки. Второй аргумент указывает формат даты

ToNumber(text)

Число, конвертированное из текстовой строки

ToText(date, foirnat)

Текст, конвертированный из даты. Второй аргумент указывает формат даты

Trim(text)

Текст аргумента без "лишних" символов пробела. Удаляются пробелы перед строкой и после строки аргумента; если пробелов подряд более двух, оставляется только один

Trunc(number, precision)

Округленный первый аргумент с отбрасыванием остатка. Во втором аргументе указывается точность округления

Ucase(text)

Текст аргумента, все символы которого в верхнем регистре

Week(date)

Порядковый номер недели (в году) даты аргумента (1-54)

Year(date)

Год даты аргумента

YearsBetween(datel, date2)

Количество лет между датами первого и второго аргумента

 

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

 

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

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

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

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

 

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

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

 

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

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

 

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

 

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

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

 

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

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

 

 

Рис. 6.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 (Потребление электроэнергии, квт-ч.1 >10 Then "высоким" Else If {Потребление электроэнергии, квт-ч.) <5 Then "низким" Else "средним") &" энергопотреблением - " &GroupSum ({Потребление воды, т.})&", т."

и

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

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

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

и

"Итоговое потребление воды " &ReportSum ({Потребление воды, т.})&", т."

На рис. 6.16 представлен результат - итоговый отчет по потреблению ресурсов, который содержит суммирующую информацию по UDP и сложную группировку по вычисляемому полю. Суммирующие показатели потребления ресурсов вычисляются как по всему отчету, так и по категориям работ.

Рис. 6.16. Итоговый отчет по потреблению ресурсов

Оглавление Назад Далее

Hosted by uCoz