Группирование записей

Оценить
(2 голоса)

Сортировка записей удобна при обработке списков или других простых отчетов, которые требуют, чтобы записи следовали в определенном порядке. Однако, как правило, необходимо не только отсортировать отчет по нескольким полям, но и сделать так, чтобы при изменении поля сортировки в отчете отображались какие-нибудь промежуточные суммы, подсчеты, средние значения или другая сводная информация. Для выполнения этой задачи следует воспользоваться группами Crystal Reports. В других инструментальных средствах построения отчетов и в языках программирования для мэйнфреймов подобная возможность часто называется разбиением отчета по уровням.

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

Чтобы создать группу отчета, либо выберите в меню Insert (Вставка) пункт Group J (Группа), либо щелкните на кнопке Insert Group (Вставить группу) в панели инструментов вставки. На экране появится диалоговое окно Insert Group (рис. 3.2), содержащее две вкладки: Common (Общие) и Options (Параметры).

На вкладке Common имеются два выпадающих списка и флажок либо кнопка условной формулы, которые используются для вставки группы. Чтобы заполнить поля в этом диалоговом окне, выполните следующие действия:

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

Также группировка может выполняться и по полю формулы.

2.   Щелкните на втором выпадающем списке, чтобы выбрать порядок, в котором созданные группы будут появляться в отчете. Здесь на выбор доступны четыре варианта: в возрастающем порядке (in ascending order), при котором группы отображаются по алфавиту (от А до Z); в убывающем порядке (in descending order), при котором группы отображаются в порядке, обратном алфавитному (от Z до А), в заданном порядке (in specified order), который позволяет создавать собственные группы (будет рассматриваться далее в этой главе), а также в первоначальном порядке (in original order), группирующий записи в порядке их следования в базе данных. (Последний вариант сам по себе интересен, однако, он, скорее всего, не будет востребован в большинстве отчетов.)

3.   Crystal Reports XI предлагает новую возможность, позволяющую выбирать порядок сортировки групп (по возрастанию или по убыванию) с помощью формулы, а не с помощью второго выпадающего списка. Эта возможность может пригодиться, например, если вы захотите посредством поля параметров сделать так, чтобы открывшему данный отчет пользователю предлагалось самостоятельно выбрать порядок сортировки групп; для этого вам понадобится создать формулу, использующую это поле параметров. Если у вас возникнет подобное желание, установите флажок Use a Formula as Group Sort Order (Использовать формулу для определения порядка сортировки групп) и щелкните на кнопке условной формулы. Создайте формулу, возвращающую следующие значения: crAscendingOrder (для сортировки групп в порядке возрастания), crDescendingOrder (для сортировки групп в порядке убывания) и crOriginalOrder (для сортировки групп в первоначальном порядке).

На заметку! Более подробную информацию о полях параметров вы найдете в главе 13, а об условных формулах форматирования — в главе 7.

Если хотите, чтобы Crystal Reports самостоятельно выбрал “типичные” параметры для отображения групп, далее можете просто щелкнуть на кнопке ОК, в результате чего будет создана новая группа. Однако при желании установить какие-нибудь дополнительные параметры, перейдите на вкладку Options (рис. 3.3).

Группирование записей

На вкладке Options доступны следующие опции:

1.   Если вы хотите, чтобы поле базы данных отображалось в группах отчета и дереве групп в таком виде, в каком оно есть, оставьте флажок Customize Group Name Field (Настроить поле имени группы) неотмеченным. Однако при желании настроить вид, в котором будут отображаться группы (например, сделать так, чтобы для поля даты название месяца отображалось полностью, а год отображался в виде четырех цифр), установите флажок Customize Group Name Field. После этого можете выбрать дополнительные параметры, определяющие, в каком виде данная группа появится на экране (для получения более подробной информации по данному вопросу обратитесь в раздел “Настройка полей имен групп” далее в этой главе).

2.   Если вы хотите, чтобы Crystal Reports не допускал разбиения групп в конце страниц, установите флажок Keep Group Together (Запретить разбиение группы). Если вы не установите этот флажок, то может случиться так, что начало группы и некоторые записи раздела подробностей будут напечатаны внизу одной страницы, в то время как остальные записи раздела подробностей, а также промежуточные суммы группы — в верхней части следующей страницы.

3.   Если вы полагаете, что группа будет большой и займет более одной страницы, установите флажок Repeat Group Header on Each Page (Повторять заголовок группы на каждой странице). Это приведет к тому, что раздел заголовка группы (описываемый далее) будет печататься в верхней части каждой страницы, содержащей продолжение группы. В результате, просматривая раздел подробностей на последующих страницах, вы всегда сможете легко определить, к какой группе он относится.

Внимание! Установка флажка Keep Group Together может привести к путанице, если первая группа отчета не поместится на странице. В этом случае Crystal Reports обнаружив, что не может разместить группу на первой странице отчета, начнет новую страницу еще перед тем, как приступит к печати группы. В результате появится пустая страница. Если такое случится, вы можете разрешить возникшую проблему, сняв отметку с флажка Respect Keep Group Together on First Page in File (Учитывать запрет разбиения групп на первой странице в файле), доступного после выбора в меню File пункта Report Options.

На рис. 3.4 показаны два новых раздела, добавленных на вкладку Design — заголовок группы и нижний колонтитул группы. Эти разделы отображаются в начале и в конце каждой группы. Обратите внимание на то, что Crystal Reports автоматически помещает в заголовок группы специальный объект. Этот объект — имя группы — будет автоматически распечатывать содержимое поля, лежащего в основе группы, в каждом заголовке группы.

Совет. Если вы не хотите, чтобы Crystal Reports автоматически вставлял объект имени группы в заголовок группы в момент ее создания, вы можете отключить опцию Insert Group Name with Group (Вставлять имя группы вместе с группой)у выбрав в меню File пункт Options. Если эта опция отключена или если вы по неосторожности удалили объект имени группы, вы можете вставить его из проводника Field Explorer, просто перетащив нужный объект имени группы после разворачивания категории Group Name Fields.

На рис. 3.5 показана вкладка Preview с неактивным деревом группы. Вы можете просматривать свои группы и перемещаться непосредственно в начало любой из них, просто щелкая в этом дереве на нужной группе. Вы можете также включать и отключать отображение дерева группы, щелкая на кнопке Toggle Group Tree (Переключить дерево группы), доступной в панели стандартных инструментов.

Совет. Помимо описанных ранее действий, для создания новой группы также можно использовать и эксперт групп (Group Expert), который рассматривается далее в этой главе.

Работа с существующими группами
Эксперт Group Expert
Добавление сводок
Поля Percentage Summary
Множественные группы

Добавить комментарий


Защитный код
Обновить