About Filters
Millennium allows your institution to maintain vast amounts of information about each constituent. Each Millennium user will have a different perspective and agenda in determining the importance and meaningfulness of this information, so each user may suppress the display of particular data rows within a data table that are not of immediate interest to him or her. This process is referred to as defining and applying a Filter to a data table. Each user defines his or her own Filter definitions to apply to the display of data in each table, for each data row that is displayed as a primary data, and for some that display as secondary data rows linked to a primary data row.
The director of the Annual Fund might want to view only those transactions in the Giving table that were associated with the Annual Fund, a data entry operator might want to view only those transactions that were created on the current day's date, and a researcher might want to view only the High priority Actions that are planned for the constituent.
Many different functions affect the display of data in the Profiles World. The following lists the functions which Filtering will and will not perform.
- Filtering does NOT affect the choice of which fields from the row are displayed - that is controlled by the Long, Short and Mini display modes.
- Filtering does NOT affect which rows are available to the user due to security settings - that is controlled by User Security. The rows that are examined and compared to the Filter definition are only those to which the current User ID has been given security access (which may or may not be all the data rows in that table). A user's Filter definition is applied to that user's view of that data table.
- Filtering does NOT affect the order in which the data tables are shown on the display page - that is controlled by the user's Defined Display and Snapshot View.
- Filtering does not affect the order in which the rows are shown on the display page - that is controlled by Sorting.
Filtering Features
Since Filtering involves the inclusion of a set of data rows for display, or exclusion of a set of data rows from display, it does not apply to those data tables where each constituent can own only one row: Basic Data, Death, and Tracking.
When a Filter is applied to a particular table (that is to say, it is turned on), the Filter definition determines which rows from the table are displayed for a user, and which rows are not. To determine which rows will be included and which will be excluded from the display, the user constructs criteria statements that describe the conditions that are desired. These criteria statements will be applied to the constituent's rows in the data table and those rows that do not conform to the criteria statements will not be displayed.
Example: If a criteria statement is constructed that reads, Select all Addresses where the Locator from the Address page is equal to Good, then any Address row with a Locator of Lost, or Deceased (or anything other than Good) will not be displayed when that Filter is turned on.
These Filtering definition criteria statements and the techniques for creating them are very similar to the criteria statements you might create in Advanced Searching, or in Reporting using the Millennium Reporter. In fact, both Filtering and Advanced Searching are simplified versions of the Millennium Reporter.
System (Administrator) Filters
-
Each data table can have only two system-wide Filters. The first Filter is considered the Default System Filter for the data table. It is named Profile Default, for each data table, and is owned by millennium_admin.
Example: The system administrator can define a Filter for the Address table; the name of this Filter is 'Profile Default'. The system administrator can also define a Filter for the Education table; the name of this Filter is also 'Profile Default', and so on.
- The second Filter is the Default Snapshot Filter for the data table. See the Filters and Snapshot View discussion below, for details.
- System-wide Filters can be created and maintained for a data table by either a Millennium system administrator or the database administrator. Users who are not Administrators can not create and maintain system-wide Filters.
- A Filter that has been defined on a data table by one Millennium system administrator or database administrator will be overwritten when a Filter is defined (on the same table) by another Millennium system administrator or database administrator.
- System administrators can not create and maintain multiple Filters on the data tables.
- Only an Millennium system administrator or database administrator can apply the System Default Filter for a data table, to a data table.
User Filters
-
A user who is not a system administrator can create and maintain multiple Filters on each of the data tables.
Example: One user may have defined one Filter on the Education table to choose rows with a certain Institution Name, a second Filter on the Education table to choose rows with a Degree Year earlier than this year, and a third Filter on the Education table to choose rows with a certain Concentration.
- A user who is
not a system administrator, who wants to apply the Default System Filter,
must use the Define Filter Criteria
function to open the Default System Filter (named Profile Default) and then save it with a different Filter name. Only one Filter definition can be active on a data table at any one time. - If an existing user is updated to be a Millennium system administrator, all Filters that were defined when the user was a regular user will no longer be available for him or her to use and maintain. They will be available again when the user's system administrator privileges are removed.
Filtering and Linked Records
Linked data rows will display with the primary data row to which they are linked if the Display mode is set to Long or if the Display mode is set to Short and the User Option to Display Linked Data in Short Display is checked. In many cases, a Filter can be defined and used on these linked data rows when they display with their primary data row. This Filter is independent of any Filters that are defined and used when rows from the same data table (as the linked data rows) are viewed from a constituent's display of that data table. This Filter is also independent of any Filters that can defined and used when rows from the same data table (as the linked data rows) are linked to a primary data row from a different table.
Example 1 A constituent has Attribute rows that are linked to her Basic Data row, Attribute rows that are linked to her Education row, and Attribute rows that are not linked. A Filter is defined and applied to the Attribute rows that link to and are displayed with her Basic Data row. This same Filter can not be applied to the Attribute rows that are linked to and display with her Education row. It can not applied to the Attribute rows that are not linked. And, it cannot be applied to the rows in her Attribute Data Display, even if that display includes her linked Attribute rows. Conversely, a Filter that is defined and applied to the rows in her Attribute Data Display can not be applied when her linked Attributes are displayed with her Basic Data row or when her linked Attributes are displayed with her Education row.
Example 2 You want to Filter the display of all Attribute data, by Attribute End Date, whether the Attributes are linked to another row, or not. Using the example above, you must create and apply three different Filter definitions. One definition is created for and applied to Attributes that link to and display with Basic Data rows. The second is created for and applied to Attributes that link to and display with Education rows. The third is created for and applied to all Attributes when they are displayed with the Attribute Data display. All three of the Filter Definitions will use the Attribute Type field. And, all three of the Filter definitions can have the same name.
If a Filter is applied to the primary data rows, and that Filter allows for the display of a primary data row to which other data rows are linked, then filtering is allowed on the linked records for the following linked data row/primary data row combinations:
Linked Secondary Row | Primary Row |
---|---|
Attribute | Basic Data |
Attribute | Donor Tracking |
Attribute | Education |
Attribute | Employment |
Relation | Donor Tracking |
Relation | Planned Giving |
Relation | Proposals |
Actions | Planned Giving |
Actions | Proposals |
Actions | Tasks |
Tasks | Actions |
In all other cases, a Filter includes or excludes each data row from the display as a complete unit. The Filtering function is not activated for the display of rows in secondary tables that are linked to a primary data row (such as Membership Benefits linked to a Membership row), or for linked data rows other than those listed in the chart above. If a primary data row has data in a secondary table or linked rows, then all of its secondary or linked rows will display or all of its secondary or linked rows will not display in accordance with the display of the primary row. If the primary row displays, then all of its secondary or linked rows also display.
In the Giving and Dues tables, a primary row may have multiple linked secondary allocation rows that display as a single transaction. The Filter definition's criteria are applied to the primary allocation row only, and all secondary allocations display or do not display in accordance with the display of that primary allocation.
Filters and Snapshot View
An Millennium user can display a constituent's data using his or her Snapshot View of the data. Briefly, a Snapshot View is a data display defined so that only selected rows, in a certain order, from a subset of Millennium's data tables, are displayed. Each user defines his or her Snapshot View of the data via the Snapshot Setup form. See User Options, Snapshot Setup for complete details.
Controls which allow the user to gain access to the Define Filter form, are included on the Snapshot Setup form. These controls enable a user to define a new Filter, edit an existing Filter, or delete an existing Filter, directly from the Snapshot Setup form. These changes are saved to the Filters system table. A user who is not logged on as a system administrator can access any of his or her own Filters by using the Snapshot Setup form, and maintain and apply to the normal data display. If a Filter was deleted by using the Snapshot Setup form, that Filter is removed from the system and therefore can no longer be accessed when displaying data in any way.
Only one Filter can be created by a system administrator by using the Snapshot Setup form. This Filter is named 'Snapshot Default' and owned by millennium_admin. The Snapshot Default Filter can only be accessed from the Snapshot Setup form and it can only be applied to a system administrator's Snapshot View definition. In other words, unlike Filters created or changed by other users, the system administrator's Snapshot Default Filter will not be available for use by the system administrator when he or she is displaying data in a way other than in a Snapshot View!
A Filter that is applied here will not affect the way the data is filtered for a user's Snapshot View. Conversely, a Filter that is applied to a user's Snapshot View will not affect the way the data is filtered here.
Via the Copy Snapshot Settings utility, a Filter definition for one user can be copied to one or more other users if that Filter definition was applied to a data table that the 'coy from' user included in his or her Snapshot View definition.
Via the Copy Snapshot Settings utility, the Snapshot Default Filter definition can be copied to one or more other users if that Filter definition was applied to a data table that the system administrator included in his or her Snapshot View definition. A user who owns his or her own copy of the Snapshot Default Filter for a data table can apply that Filter when the data table is displayed in a way other than in Snapshot View if he or she first edits the Snapshot Default Filter from within the Snapshot Setup form, and saves it with a different name.