Авторизация



Создание фильтров

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

Редко какой отчет выигрывает от того, что в него включаются абсолютно все записи из базы данных. В действительности, неосторожное включение всех записей может привести к чрезмерному сетевому трафику, нехватке временного Пространства на диске компьютера и, что самое худшее, получению совершенно бесподазиого отчета гигантских размеров. Хотя отчеты Crystal Reports, основанные на обыфстах Business View, и могут воспользоваться экспертом выборки записей (Select Expert! или формулой отбора записей Crystal Reports, ограничение записей “целесообразны»* мб+ром на уровне Business View не только исключит наличие “не поддающихся контролю” отчетов, но и позволит возвращаться в отчет только ограниченному набору данньй| имеющих отношение к Business View. Помимо этого, создание фильтров в объекте Datsl Foundation является базой для функции безопасности на уровне строк, которая ограничивает данные отчета на основе настроек, установленных для пользователей и групп Crystal Reports Server BusinessObjects Enterprise.

Фильтр (иногда в документации по Business Views называемый “Business Filter" (“Бизнес-фильтр”)) — это ограничение, которое устанавливается на возвращаемые из базы данных записи. Фильтры могут принимать следующие формы: “только заказчики в США”, “только заказы, размещенные с . по . (диапазон дат)” и так далее. Фильтрация — это основное требование фактически всех средств составления отчетов и запросов базы данных. Вы можете создавать в объекте Data Foundation столько фильтров, сколько хотите, и можете применять их как к отдельным пользователям, так и к целой группе пользователей Crystal Reports Server/BusinessObjects Enterprise.

На заметку! Хотя процесс создания фильтра в Business Views отличается от аналогичного процесса в Crystal Reports Select Expert, основополагающие принципы фильтрации и выбора записей одинаковы. Более подробную информацию об общих принципах выбора записей можно найти в главе 4.

Чтобы создать фильтр, находясь в диалоговом окне Object Explorer, щелкните на ® категории Filters (Фильтры), затем щелкните правой кнопкой мыши и в контекстном меню выберите пункт Insert Filter (Вставить фильтр). В качестве альтернативного варианта, можете выбрать в меню Insert пункт Insert Filter или щелкнуть на кнопке Insert Filter в панели инструментов.

Начните с выбора (в верхней области окна фильтра) поля, которое будет использоваться для первой (или единственной) части фильтра. Добавьте его в текстовое окно фильтра, либо дважды щелкнув на нем, либо перетащив его в текстовое окно, либо выделив его и щелкнув на кнопке Add Selected Tree Item to Filter (Добавить выбранные элементы дерева к фильтру) в панели инструментов фильтра (расположенной в центральной части окна фильтра). Поле будет добавлено в текстовое окно с установленным по умолчанию критерием “is any value” (“любое значение”).

Выделите имя поля в текстовом окне фильтра. Под текстовым окном появится выпадающий список доступных операций сравнения. Щелкните на нем, чтобы выбрать одну из предлагаемых операций сравнения, наподобие =, < и так далее. В зависимости от выбираемого значения, справа от данного выпадающего списка будут появляться дополнительные комбинации типа “выпадающий список/текстовое поле”. Щелкните на указывающей вниз стрелке, чтобы просмотреть выборки данных для поля. Если необходимо, чтобы фильтр основывался на параметре, выберите этот параметр в выпадающем списке (в списке будут отображаться только параметры, которые соответствуют типу данных в поле фильтра). Или же просто введите необходимое значение сравнения (такое как "USA”) в списке. Закончив составлять первое “выражение” для фильтра, либо щелкните на кнопке Check Filter Validity (Проверить правильность фильтра), чтобы проверить,

Создание фильтров

отвечает ли фильтр необходимым требованиям к синтаксису, либо щелкните на кнопке Apply (Применить), чтобы применить выбранные для данного выражения значения.

Если требовалось всего одно выражение для фильтра, то тогда процесс создания фильтра завершен. Задайте для фильтра соответствующее имя, введя его в поле свойства Name, находящемся в диалоговом окне Property Browser. Если требуется создать сложный фильтр, содержащий несколько выражений, объединенных булевскими операциями “И” и “ИЛИ”, щелкните на кнопке в панели инструментов фильтра, которая соответствует той или иной операции. В текстовом окне фильтра после первого выражения появится AND (И) или OR (ИЛИ).

Затем повторите описанные ранее шаги, чтобы добавить дополнительное поле в текстовое окно, и выберите для него тип сравнения и значение. Можете добавлять дополнительные булевские операции AND или OR и дополнительные критерии для полей столько раз, сколько нужно, чтобы получить необходимый сложный фильтр. В этом фильтре даже можно делать ссылку на другой фильтр. Поскольку существующий фильтр в конечном итоге будет иметь значение True или False, вы просто добавляете существующий фильтр к этому фильтру с помощью булевской операции AND или OR — операции сравнения при этом не доступны.

Если первоначально была добавлена операция AND, а теперь ее необходимо заменить операцией OR (или наоборот), просто щелкните на нужной операции, а затем — на кнопке Toggle And/Or Operator (Переключить операции И/ИЛИ) в панели инструментов.

Если требуется удалить какую-нибудь часть фильтра (определенное поле, выражение сравнения или булевскую операцию), выделите ее в текстовом окне фильтра, затем нажмите клавишу <DEL> или щелкните на кнопке Delete в панели инструментов фильтра.

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

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

Закончив создавать фильтр, щелкните на кнопке Check Filter Validity, чтобы проверить правильность примененного в фильтре синтаксиса — в случае обнаружения каких-либо ошибок появится соответствующее сообщение. Чтобы сохранить внесенные в фильтр изменения, щелкните на кнопке Apply. Затем задайте для фильтра описательное имя, введя его в поле напротив свойства Name, которое находится в диалоговом окне Property Browser. При желании добавить в объект Data Foundation дополнительные фильтры, выполните все те же описанные выше шаги. В Data Foundation можно добавлять столько различных фильтров, сколько нужно, назначая каждый из них пользователю или группе Crystal Reports Server/BusinessObjects Enterprise путем установки прав (о чем рассказывается далее в этой главе, в разделе “Безопасность на уровне строк и столбцов”).

Внимание! Не удивляйтесь, если, создав фильтр, обнаружите, что он никак не влияет ни на какие поступающие из объекта Business View данные. Такое может случиться, если фильтр не был применен за счет установки прав. Действия, которые необходимо выполнить для того, чтобы применить фильтр подобным образом, описываются далее в этой главе.

При создании нескольких фильтров и применении их всех к объекту Data Foundation, Business Views вставляет между ними логическое “ИЛИ”. Хотя это вполне понятное условие для настройки безопасности на уровне строк в представлении Business View, результаты при этом часто будут существенно отличаться от критериев для выбора множества записей, добавляемых в эксперте Select Expert, в котором между критериями используется логическое “И”. При желании сделать так, чтобы критерии соединялись с помощью логического “И”, добавьте выражения в один фильтр и поместите операцию AND между выражениями в пределах этого одного фильтра.

Как и в случае с любым другим объектом Business View, скорее всего, после создания фильтров вы захотите сохранить весь объект Data Foundation. Для этого потребуется щелкнуть на кнопке Save в панели инструментов или выбрать в меню File пункт Save.

Совет. Фильтры можно создавать либо во время создания объекта Data Foundation, либо во время создания объекта Business Element (рассматриваемого далее в этой главе). Разница состоит в том, что фильтры, создаваемые в Data Foundation, появятся во всех объектах Business Element, которые используют Data Foundation, а вот фильтры, создаваемые на уровне объекта Business Element, будут отображаться только в этом самом объекте Business Element. Также в некоторых случаях может потребоваться создавать фильтры на разных уровнях с целью получения комбинаций фильтров, необходимых для настройки безопасности на уровне строк.

Безопасность на уровне строк и столбцов
Добавление пользователей и групп в список. Предварительный просмотр совокупных прав
Объект Business Element
Создание объекта Business Element вручную
Field Structure (Структура полей)

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


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