Dataset Where Filters

Dataset Where filters allow you to create a Heirarchical where filter to apply to your Dataset to ensure you get only the results you require as efficiently as possible. These filters can apply against the Dataset parameters, and against any field for any queryable item you've included in the query.

Where Filter Features

The where filter allows you to create a hierarchical filter for your query that can ensure you only get the results you require. The filter allows you to specify that any property of Queryable Items should match on the following:

  • A hardcoded constant value
  • A global parameter value of the Dataset itself that can be user entered
  • Any other field of Queryable Items in the Dataset itself.

These filters can even be added to part of your join condition of the Queryable Item itself if you wish to improve performance.

The where filter can be edited using our standard TreeView controls [see here for more info].


Where Filter Properties

Whenever you create a new where filter the system automatically pops up a dialog box allowing you to configure the properties of the where filter line. The properties are as follows:

NameDescription
[Required]
Composite Operator

Indicates if this is an actual comparison filter, or a logical composite operator that has children filters. Can be:

  • None
    Indicates this is an actual where filter. It is logically applied to other filters according to its direct parent composite operator. If it doesn't have one then all top level filters use 'And' to compare to each other.
  • And
    Indicates all child where filters should have 'And' as a logical operator applied to them.
    No other properties need be set for this where filter if it has a composite operator value.
  • Or
    Indicates all child where filters should have 'Or' as a logical operator applied to them.
    No other properties need be set for this where filter if it has a composite operator value.
Source Property EntityThe Queryable Item you want to apply a filter to
Source PropertyThe property of the Queryable Item you want to apply a filter property to
Operator

The operator used to compare the source property against the value with. Can be:

  • Less Than
  • Less Than Or Equal To
  • Equals
  • Not Equals
  • Greater Than Or Equal To
  • Greater Than
  • Starts With
  • Ends With
  • Contains
  • Does Not Contain
  • Is Contained In
  • Is Empty
  • Is Not Empty
  • Is Null
  • Is Not Null
  • Is Not Contained In
Compare To Hardcoded ValueA hardcoded value to compare the Queryable Item Property to using the comparison Operator.
Compare To ParameterIndicates the Queryable Item Property should be compared to the specified global parameter of the Dataset using the comparison Operator.
Compare To EntityIndicates a Queryable Item to use in the comparison against the Source Property
Compare To Entity PropertyIndicates the property of the Queryable Item to use in the comparison against the Source Entity Property using the comparison Operator
Wrap Comparator In Is NullIndicates the Source Property of this filter should be wrapped in an IsNull clause to match the specified value if null.
Filter From JoinIndicates this where filter should be applied in the actual Join of the Queryable Item instead of on the where clause for performance

The system displays your where filter in an easily intuitive display within the tree view. For instance the following where filters:

Comparative Operator: And
Filter: User.ID = UserRole.UserID
Filter: Role.ID = UserRole.RoleID

Would show as:

And
      User.ID = UserRole.UserID
      Role.ID = UserRole.RoleID

And would be translated in to the following SQL (roughly):

(User.ID = UserRole.UserID And Role.ID = UserRole.RoleID)


Commands

A Where Filter View has the standard set of commands and functions when being viewed from a tree view. See our standard tree view functionality.

Where filters also have the following custom commands:

  • Comparator
    Opens the popup dialog box allowing you to edit the properties of this where filter line, described in more detail above.