Поля текущих сумм

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

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

На рис. 5.22 показан отчет типа Тор N (см. главу 3), который отображает текущие суммы по пяти основным регионам США. Никаких других регионов он не учитывает. Как рассказывалось в главе 3, это приводит к тому, что итоговые суммы отчета не соответствуют сумме всех итоговых сумм по группам. Итоговые суммы подсчитываются на основе всех записей отчета, а не только лишь тех, которые попали в одну из этих пяти наибольших групп. Применение полей промежуточных сумм — прекрасный способ решения этой проблемы.

Рис. 5.22. Задача определения итоговой суммы для отчета типа Тор N в условиях отсутствия группы Others (Прочие)

Все новые поля текущих сумм создаются в окне Fields Explorer. Для начала выберите в окне проводника Fields Explorer категорию Running Total Fields (Поля текущих сумм). Затем щелкните на кнопке New (Создать), которая находится в панели инструментов проводника Fields Explorer, или щелкните на категории Running Total Fields правой кнопкой мыши и в появившемся контекстном меню выберите пункт New. Вы также можете выбрать уже существующее поле в разделе Details (Подробности), щелкнуть на нем правой кнопкой мыши и выбрать в появившемся контекстном меню пункт Inserts Running Total (Вставка^Текущая сумма). На экране появится диалоговое окно Create Running Total Field (Создать поле текущей суммы), показанное на рис. 5.23.

Поля текущих сумм

Рис. 5.23. Диалоговое окно Create Running Total Field

Сначала выберите для создаваемого поля текущей суммы новое имя (если вас чем-то не устраивает имя, присвоенное этому полю Crystal Reports). Это имя может содержать символы различного регистра и пробелы, но оно не должно конфликтовать с именами полей формул или полей базы данных. Crystal Reports поместит перед именем поля текущей суммы знак фунта (#).

Если вы выбираете поле, которое уже существует в разделе подробностей, и, щелкнув правой кнопкой мыши, выбираете в контекстном меню пункт Inserts Running Total, выбранное поле автоматически появится в выпадающем списке Field to Summarize (Поле для суммирования), а в выпадающем списке Type of Summary (Тип сводки) появится функция сводки, выполняемая по умолчанию. Если вы создаете новое поле текущей суммы через окно проводника Fields Explorer, укажите поле отчета, базы данных или формулы, которое вы хотите использовать для вычисления текущей суммы, выбрав его в списке Available Tables And Fields (Доступные таблицы и поля) и щелкнув на кнопке со стрелкой вправо, которая находится рядом с полем Field to Summarize. Если вы всего лишь хотите увеличить текущую сумму на единицу для конкретных записей, воспользуйтесь сводкой Count или DistinctCount (в зависимости от того, насколько “уникальным” согласно вашим представлениям должно быть поле, по которому будет подводиться итог), а также полем отчета, которое не содержит значения null (значения null исключают возможность увеличения значения текущей суммы). Все остальные функции, доступные для работы с полями текущих сумм, ничем не отличаются от тех, которые предлагаются для работы с полями сводок. Для получения более подробной информации о доступных полях сводок обратитесь в главу 3.

Поля текущих сумм

Укажите, когда значение текущей суммы должно увеличиваться, выбрав подходящую опцию в разделе Evaluate (Вычисление). Затем укажите, когда значение текущей суммы должно сбрасываться в ноль, выбрав подходящую опцию в разделе Reset (Сброс). Если вы выделите поле в списке Available Tables And Fields и щелкнете на кнопке со стрелкой, расположенной рядом переключателем On Change Of Field (При изменении поля), значение текущей суммы будет увеличиваться или обнуляться всякий раз, когда в этом поле будет появляться новое значение. Если вы установите переключатель On Change Of Group (При изменении группы), вы сможете выбрать существующую группу отчета в выпадающем списке, который станет доступным после этого. В этом случае значение текущей суммы будет увеличиваться или обнуляться всякий раз, когда изменяется выбранная группа. Установив переключатель Use a Formula (Использовать формулу), вы сможете щелкнуть на расположенной рядом с ним кнопке Formula. После этого на экране появится окно редактора Formula Editor, где можно будет ввести булевскую формулу, которая будет вычисляться при увеличении или сбросе значения текущей суммы.

Выполнив все необходимые операции в диалоговом окне Create Running Total Field, щелкните на кнопке ОК. Поле текущей суммы появится в окне проводника Fields Explorer, после чего его можно будет перетащить в отчет точно так же, как и любое поле базы данных. Если возникнет необходимость отредактировать, переименовать или удалить поле текущей суммы, можете воспользоваться средствами, доступными в окне проводника Fields Explorer. Вы также можете щелкнуть на поле текущей суммы правой кнопкой мыши (как на вкладке Design, так и на вкладке Preview) и выбрать в появившемся контекстном меню пункт Edit Running Total (Редактировать текущую сумму).

Чтобы решить проблему в отчете Top N, не имеющем группы Others (Прочие), создайте два поля текущих сумм: первое для подсчета количества заказчиков (рис. 5.24), а второе для подсчета итоговой суммы продаж (рис. 5.25).

Поля текущих сумм

Рис. 5.25. Создание поля для подсчета итоговой суммы продаж

Поместите эти поля текущих сумм в нижний колонтитул отчета. Поскольку текущие суммы вычисляются только на проходе “во время распечатки записей”, дополнительные записи из группы Others (Прочие) не будут включаться в нижний колонтитул отчета. На рис. 5.26 показаны правильные итоговые суммы, которые теперь отображаются в отчете Тор N.

Внимание! Поскольку поля текущих сумм вычисляются на проходе “во время распечатки записей”, создавать поля текущих сумм на основе формул второго прохода нельзя.

Поля текущих сумм

Поля текущих сумм

Подробнее в этой категории: « Crystal Reports предлагает формулы
Crystal Reports предлагает формулы
Студия Formula Workshop
Эксперт Formula Expert
Редактор Formula Editor
Варианты синтаксиса формул в Crystal Reports

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


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