|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
5. Создание качественных отчетов с помощью RPTwin 5.1. Создание простейших отчетов в RPTwin 5.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 (рис. 5.1). Новый отчет можно создать и непосредственно из среды RPTwin (меню File/New), при создании следует указать имя файла данных отчета (LWD).
Рис. 5.1. Диалог New Report В диалоге New Report можно выбрать тип создаваемого отчета. 1. Quick Reports - создание простейших отчетов. Columnar. Простой табличный отчет. RPTwin автоматически создает табличный отчет, включая в него все объекты файла данных. В дальнейшем табличный отчет можно редактировать, добавляя в него новые поля, формулы, группы и т. д. Vertical. Простой вертикальный отчет, в котором данные располагаются вертикально, в одну колонку, одно поле под другим. RPTwin автоматически создает вертикальный отчет, включая в него все объекты файла данных. Blank Report. Бланк. Создается пустой бланк отчета, в который не включаются данные. В дальнейшем в бланк отчета можно добавить в новые поля, формулы, группы и т. д. 2. Guided Reports - при выборе отчета Guided Reports возникает диалог Guided Report (рис. 5.2), в котором, начиная с простого отчета, можно шаг за шагом создать отчет с сортировкой, группировкой и сложным форматированием данных. Group/Totals. Табличный отчет с автоматической группировкой и сортировкой данных. В отчет также включаются суммирующие значения. Vertical. При создании отчета Vertical можно выбрать данные, которые должны быть включены в отчет, указать их порядок и сортировку.
Рис. 5.2. Диалог Guided Report 5.1.2. Инструментальная среда RPTwin После выбора типа отчета в диалоге New Report и задания необходимых опций отчет создается автоматически. Ниже будет описан интерфейс версии 3.02. В окне RPTwin показывается окно DataSet Columns и шаблон отчета (рис. 5.3).
Рис. 5.3. Шаблон отчета Шаблон отчета включает несколько секций: Report Header - печатается единожцы в начале отчета. В примере на рис. 5.3 в этой секции расположены текстовое поле "Отчет по стрелкам" и дата отчета; Page Header - печатается в верхней части каждой страницы. В примере на рис. 5.3 в этой секции расположены текстовые поля - заголовки колонок; Group Header - печатается в начале каждой группы. В примере отчет сгруппирован по имени стрелки. Секция Group Header содержит текстовое поле Arrow Name и поле данных - имя стрелки (Arrow Name); Detail - печатается для каждой строчки набора данных (файл .LWD). В примере содержит поля набора данных отчета по стрелкам; Group Footer - печатается в конце каждой группы. Обычно в этой секции располагаются суммирующие по группе значения; Page Footer - печатается в нижней части каждой страницы. Может, например, содержать номер страницы; Report Footer - печатается единожды в начале отчета. Обычно в этой секции располагаются суммирующие по отчету значения. В секциях отчета могут располагаться следующие элементы: Data Fields - поля, отображающие данные из.Ь\УО-файла; Text Fields - используются для внесения в отчет поясняющего текста; Formula Fields - вычисляемые поля; Special Fields - специальные поля, например время, номер страницы, номер записи и т. д.; OLE объекты (Object Link and Embedding) - специальные объекты (обычно графические, связываемые с OLE-серверами (PC Paintbrush, MS Excel, MS Word и т. д.). В верхней части окна RPTwin располагается панель инструментов. Функциональность панели инструментов доступна из основного меню RPTwin и показана в таб.5.1. Таблица 5.1. Описание элементов управления основной панели инструментов RPTwin
RPTwin имеет также палитру инструментов (ToolBox). Назначение кнопок палитры инструментов приведено в табл. 5.2. Таблица 5.2. Описание элементов управления палитры инструментов
DataSet Columns (см. рис. 5.3) показывает список полей набора данных из LWD-файла. Эти поля могут быть включены в отчет при помощи техники drag&drop. Список DataSet Columns можно перемещать по рабочему пространству отчета, можно скрыть его или вновь сделать видимым (пункт меню View/DataSet Columns List). 5.2. Форматирование отчетов 5.2.1. Вставка и форматирование объектов отчета Созданный в диалоге New Report отчет может быть изменен - в него могут быть добавлены новые объекты, свойства существующих объектов могут быть изменены. Поле данных содержит информацию из файла данных или вычисляемые значения. Поле данных может быть трех типов: простое поле данных (Simple Data Field) представляет собой колонку набора данных (фaйл.LWD). В режиме дизайна отображается именем колонки набора данных, например ENTITY NAME или ATTRIBUTE NAME; специальное поле (Special Function) показывает дату (Date) и время (Time) выполнения отчета, номер страницы (Page Number), номер строки (Record Number) и общее количество строк (Record Count); формула (Formula) позволяет производить сложные вычисления и обработку данных. (Создание и использование формул будет рассмотрено в гл. 5.3.) Поля могут быть включены в любую секцию отчета. Простые поля можно включить в отчет просто "перетаскивая" их (drag&drop) из окна DataSet Columns List в соответствующую секцию. Для включения специального поля можно воспользоваться палитрой инструментов (см. табл. 5.2) или меню Insert/Special Field. Специальное поле должно быть включено в строго определенную секцию отчета. Так, например, номер страницы может быть включен в Page Header или в Page Footer, общее количество строк (Record Count) - в Group Footer, Page Footer или Report Footer. Для редактирования свойств полей данных следует щелкнуть правой кнопкой мыши по полю и выбрать во всплывающем меню пункт Data Field Properties. Возникает диалог Data Field Properties (рис. 5.4), в котором можно изменить следующие свойства поля: имя поля (поле ввода Name); координаты поля в отчете и его размеры (Position, Height и Width). Изменить координаты поля можно также просто, "перетащив" поле по рабочему пространству отчета, "зацепив" его мышью. Изменить размеры поля можно также непосредственно в рабочем пространстве отчета. Для этого следует щелкнуть по полю. Появятся габаритные указатели поля !!!!!!!!!!!!!!!. "Зацепив" мышью такой указатель, можно увеличить или уменьшить размер поля. Опция Can be squeezed up if no data особенно важна для вертикальных отчетов. Если она включена, то строка, не содержащая данных, не будет печататься. Ширина поля может быть установлена фиксированной (значение Fixed Width в комбинированном списке справа от поля Width), может автоматически устанавливаться по ширине поля данных (Adjust Width to Data) или максимально возможной - до следующего поля справа или правой границы отчета (Expand Right to Margin or Next Item);
Рис. 5.4. Диалог Data Field Properties расположение длинного поля в несколько строчек (Word Wrap); рамки поля (Borders); фон поля (Patterns); кроме того, можно скрыть поле, если повторяются его значения (опция Suppress группы Repeating Values). Если при включенной опции Suppress включена также опция Redisplay after Group, значение поля печатается один раз в начале каждой группы, даже если оно является повторяющимся. Если включена опция Redisplay after Page, значение поля печатается один раз в начале каждой страницы. Текстовые поля (Text Field) могут использоваться в отчете для заголовков, подписей и другой поясняющей информации. Они могут содержать буквы, цифры и специальные символы. Для вставки текстового поля можно воспользоваться кнопкой !!! в палитре инструментов или меню Insert/Text Field. При внесении поля или при его редактировании (для редактирования свойств текстового поля следует щелкнуть правой кнопкой мыши по полю и выбрать во всплывающем меню пункт Text Field Properties) возникает диалог Text Field Properties (рис. 5.5), в котором можно внести текст поля (Text), имя (Name), изменить рамки (Borders), его размеры и расположение на отчете. Для удаления поля следует щелкнуть по нему левой кнопкой мыши и нажать на клавишу Delete на клавиатуре.
Рис. 5.5. Диалог Text Field Properties Помимо текстовых или специальных полей в отчет могут быть включены OLE-объекты. Для вставки текстового поля можно воспользоваться кнопкой !!! в палитре инструментов или меню Insert/OLE Object. При внесении OLE-объекта возникает диалог Вставка объекта (Insert Object), рис. 5.6, в котором следует указать либо тип вновь создаваемого объекта, либо имя файла, содержащего объект. Если вставляется существующий объект, он будет добавлен в секцию отчета, если новый - вызовется соответствующее приложение для создания объекта.
Рис. 5.6. Диалог "Вставка объекта' Для редактирования OLE-объекта следует дважды щелкнуть по нему кнопкой мыши. Вызывается приложение для редактирования объекта, причем в большинстве случаев меню приложения встраивается в меню RPTwin. Некоторые OLE-объекты могут быть преобразованы в другой тип. Для преобразования типа объекта следует щелкнуть по нему правой кнопкой мыши и выбрать во всплывающем меню пункт Объект/Преобразовать (Object/Convert). В появившемся диалоге Преобразование (Convert) следует указать новый тип объекта и щелкнуть по кнопке ОК. Для изменения свойств следует щелкнуть по нему правой кнопкой мыши и выбрать во всплывающем меню пункт OLE Object Properties. В появляющемся диалоге OLE Object Properties можно задать такие свойства объекта, как расположение в отчете или размеры. 5.2.2. Группировка и сортировка данных отчета RPTwin позволяет выстроить данные отчета в определенном порядке (сортировка) либо объединить их в группы (группировка). Так, в примере на рис. 5.3 отчет сгруппирован по имени стрелки, другими словами, в каждую группу включаются данные, относящиеся к одной определенной стрелке. Для установления сортировки и группировки следует выбрать пункт меню Layout/Sorting and Grouping. Появляется диалог Sorting/Grouping (рис. 5.7).
Рис. 5. 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})"). Синтаксис формул будет рассмотрен в гл. 5.3. Созданная формула автоматически добавляется в правый список диалога Sorting/Grouping. 5.2.3. Изменение файла данных отчета Любой отчет RPTwin использует в качестве источника единственный файл данных (.LWD), имя которого указывается при создании отчета. Иногда необходимо использовать созданный шаблон отчета (файл-LWR) для работы с различными наборами данных. RPTwin позволяет изменить файл набора данных. Для этого необходимо выбрать пункт меню Options/Current DataSet. Появляется диалог Current DataSet (рис. 5.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.
Рис. 5.8. Диалог Current DataSet Если необходимо изменить файл данных для его постоянного использования в дальнейшем, следует указать его имя в нижнем поле и щелкнуть по кнопке Link. Указанный файл данных (*.LWD) будет связан с текущим файлом шаблона отчета (*.LWR). По умолчанию указывается полное имя файла (путь+имя), которое запоминается в шаблоне отчета. Если не указывать путь (кнопка No Path), то шаблон отчета не привязывается к конкретному месту на диске. В этом случае RPTwin сначала ищет файл данных в каталоге по умолчанию (DATASETS), затем в каталоге, в котором содержится файл шаблона отчета, затем в текущем каталоге. 5.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 (рис. 5.9). Опция Default Data Format позволяет задать форматирование полей отчета по умолчанию. Отдельно задается формат для полей разных типов: Datetime, Date, Time, Number, Money. Форматирование каждого поля в уже созданном отчете можно изменить в диалоге Data Field Properties (см. рис. 5.4). По умолчанию RPTwin создает многоколоночный отчет, разбивая его по ширине, в случае необходимости - на несколько страниц. Если включить опцию Fit All Columns on One Page, то колонки будут сжаты так, чтобы уместить отчет по ширине на одной странице.
Рис. 5.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 позволяет учитывать при сортировке различия в регистре. 5.3. Использование формул RPTwin 5.3.1. Создание формул RPTwin RPTwin позволяет преобразовать в формулу любое поле данных. Для этого в диалоге Data Field Properties (см. рис. 5.4) следует щелкнуть по кнопке Formula Editor. Возникает диалог Formula Editor (рис. 5.10).
Рис.5.10. Диалог Formula Editor По умолчанию в верхнем поле диалога (Formula:) отображается имя текущего поля данных отчета. В это поле следует внести текст создаваемой формулы. В левом списке диалога DataSet Columns содержится список колонок файла данных отчета, в правом (Functions) - список функций RPTwin. В нижнем списке (Operators) содержится список операторов. Для внесения колонки, функции или оператора в текст формулы следует дважды щелкнуть по соответствующей строчке списка. Группа кнопок Edit облегчает редактирование текста формулы. Текст формулы должен удовлетворять требованиям синтаксиса формул RPTwin. Если формула содержит ошибку, то при закрытии диалога Formula Editor (кнопка OK) возникнет диалог PLATINUM RPTwin с сообщением об ошибке. Рассмотрим синтаксические правила формул RPTwin. Имена колонок. Имена колонок не должны начинаться с цифры и не должны содержать специальных символов (пробел, символ оператора и т. д.). Имя колонки в примере на рис. 5.10 содержит пробел, что является ошибкой. Для использования имен колонок, содержащих специальные символы, их следует заключить в фигурные скобки. Имена полей, не содержащие специальных символов, можно использовать без скобок. Имя "Arrow Dest. Type" - неверное, имена "{Arrow Dest. Type}" и "Name" - не содержат ошибки. Если имя колонки содержит пробелы в начале или конце строки, эти пробелы должны быть заключены в фигурные скобки - "{ Name}" (два пробела в начале имени) или "{Name }" (два пробела в конце имени). Операторы. RPTwin поддерживает три типа операторов: арифметические: сложение +, вычитание -, умножение *, деление /; текстовый оператор конкатенации &; операторы сравнения, использующиеся в предикате конструкции If (<=, <, =, >=,>); логические операторы (is in, contains, and, or, not, is null, is not null). Арифметические операторы используются в обычном смысле. В арифметических выражениях могут быть использованы круглые скобки, при этом сначала выполняются действия в скобках. Оператор конкатенации позволяет сложить значения текстовых полей. При создании формул, оперирующих с текстом, следует учитывать, что строковые константы заключаются в двойные кавычки. Так, если значение поля Arrow Dest. - "Брак", а поля Arrow Name - "Output", то результатом выполнения формулы "{Arrow Dest.}&" "&{ Arrow Name}" будет "Брак Output". Типы данных. При выполнении действий над данными необходимо соблюдать правила соответствия типов. Если создать формулу ""Arrow" + 1.0", то RPTwin выдаст сообщение об ошибке несоответствия типов - текст не может быть сложен с числом. RPTwin различает пять типов данных: Number; Text; Date; Time; Datetime. Если возвращаемое значение формулы - строка, то в некоторых случаях при несоответствии типов RPTwin не выдает ошибки, а конвертирует операнды в соответствующий тип. Например, выражение "3&5" будет выполнено без ошибки. Число 3 конвертируется в строку "З", 5 - в "5", результатом выполнения формулы будет строка "35". Если возвращаемое значение имеет тип Time, в качестве операнда можно использовать Datetime. Если возвращаемое значение имеет тип Datetime, в качестве операнда можно использовать Time, при этом в качестве даты используется 1 января 0001 года. Арифметические операторы могут использоваться только с числами. Если возвращаемое значение - число, автоматически конвертация типов не производится. Для конвертации типов в этом случае следует явно использовать функции конвертации (см. табл. 5.3). Учитывать типы данных необходимо также, если поля или константы используются в качестве аргументов функций. Список функций с указанием типов аргументов приведен в табл. 5.3. 5.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) приведен в табл. 5.3. Таблица 5.3. Функции RPTwin
5.3.3. Использование формул RPTwin Рассмотрим построение отчета RPTwin по модели процессов, изображенной на рис. 5.11. Модель описывает процесс изготовления изделия и имеет три уровня декомпозиции. В ней описаны следующие свойства, определяемые пользователем (UDP): уровень декомпозиции (Integer List, допустимые значения в модели; потребление электроэнергии, кВт-ч (Real Number); потребление воды, т (Real Number). Контекстной работе ("Изготовление изделия") присвоено значение UDP "Уровень декомпозиции", равное 0, работам на диаграмме декомпозиции контекста -1 и работам на диаграммах декомпозиции нижнего уровня -2. Значения свойств "Потребление электроэнергии, кВт-ч" и "Потребление воды, т" присвоены только работам на диаграммах декомпозиции нижнего уровня. Создание UDP в BPwin и присвоение значений работам подробно описано в 1.4.
Рис. 5.11. Дерево узлов модели процессов Непосредственно в среде BPwin невозможно оценить количество ресурсов (электроэнергия и вода), необходимых для производства изделия, поскольку невозможно производить арифметические операции с UDP. В отчете Diagram Object Report, фрагмент которого приведен на рис. 5.12, можно получить только список работ с указанием их UDP, но невозможно отфильтровать работы и произвести расчеты суммарных значений необходимых для производства изделия ресурсов.
Рис. 5.12. Отчет по UDP (Diagram Object Report), полученный средствами BPwin Создать отчет со сложной обработкой данных возможно только средствами- RPTwin. Для создания такого отчета необходимо в диалоге настройки отчета Diagram Object Report (см. рис. 1.48) в качестве формата отчета указать RPTwin, после чего щелкнуть по кнопке Report. В появившемся диалоге сохранения файла следует указать имя файла данных отчета (.LWD). После этого автоматически запускается RPTwin и появляется диалог New Report. В диалоге New Report в качестве типа создаваемого отчета следует указать Columnar. Создается шаблон отчета, включающий в себя все колонки файла набора данных отчета (рис. 5.13).
Рис. 5.13. Шаблон отчета "Ресурсы, необходимые для изготовления изделия " Фрагмент отчета (режим предварительного просмотра) представлен на рис. 5.14. Ресурсы, необходимые для изготовления изделия
Рис. 5.14. Отчет "Ресурсы, необходимые для изготовления изделия" Этот отчет не включает суммирующие данные и несет ту же информацию, что и отчет на рис. 5.12. Для того, чтобы он действительно помог анализировать необходимые ресурсы, его следует модифицировать. Поскольку UDP, определяющие потребление ресурсов, заданы только для работ нижнего уровня декомпозиции, можно оставить в отчете только эти работы. Для установки фильтра в среде RPTwin нужно выбрать пункт меню Options/Filter. В диалоге Filter (рис. 5.15) следует выбрать опцию Include и щелкнуть по кнопке Formula Editor.
Рис. 5.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 ({Потребление воды, т.})&", т." На рис. 5.16 представлен результат - итоговый отчет по потреблению ресурсов, который содержит суммирующую информацию по UDP и сложную группировку по вычисляемому полю. Суммирующие показатели потребления ресурсов вычисляются как по всему отчету, так и по категориям работ.
Рис. 5.16. Итоговый отчет по потреблению ресурсов |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Главная | Контакты | Нашёл ошибку | Прислать материал | Добавить в избранное |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|