Filtering Data - The Shuffler
What is a Shuffler, What are the Benefits? | Selecting Views vs. Filtering | Variants of the Shuffler
What is a Shuffler, What are the Benefits?
A Shuffler is a method to easily set criteria for filtering a larger data set, in order to get simplified and reduced views of the data. It mimics natural language statements for formulating the query, but can also be used with query statements consisting of words only. The query statement is typically assembled by combining static texts with dynamic elements like dropdown lists, edit fields and selection elements.
Example

Figure 1: Example for a simple shuffler
Benefits of the Shuffler
Easy query:
- Predefined natural language options instead of SQL
- Implicit online instruction about what is shown on the screen
Comparison to tree:
- Clear visualization of selection statements and results
- Better suited for non-hierarchical data
- Interactive change of grouping (category)
- Group by role, group by system, group by type of activity
Selecting Views vs. Filtering
In the simplest case, a shuffler may consist of a label with a dropdown listbox for selecting the filter criteria. This design is identical to the case where a dropdown listbox is used for selecting views. However, we will restrict the term "shuffler" to the device that filters data which is covered here. For more information on how to use dropdown listboxes for view selection, and what the alternatives are, see Selecting Views.
In the following we discuss the differences between views and shufflers and provide criteria for when to use the shuffler and when not.
Why Change Views?
- To interactively browse a data set
- To have multiple views of one coherent theme:
- Same object: Show members, rooms, tasks of one cost center
- Same object class: Select one customer
- Same task: Toggle between information which is important for shipping international
- To stack screens
- Toggle between different screen layouts (detail, overview)
When to Shuffle?
Use the shuffler to
- Select predefined report variants
- Visualize data structures that are non-hierarchical but rather attribute-based -> Shuffler filters by attribute
- Reduce complexity of trees
Example: Instead of listing all cost centers with sub-nodes for DMs, PMs, Developers (tree) present flat list of cost centers and select DM, PM, or Developer by a shuffler statement (e.g. "Show all DMs")
- Offer interactive filtering and sorting of data
- Use attribute-based filter statements with predefined set of meaningful operands
- Change sorting or grouping based on attributes
When Not to Shuffle?
Tabstrips can be an alternative if:
- Different screen layouts are stacked (overview detail)
- Choices are very limited and of a fixed number
- Switches are frequent
- Readability of choices is important
Radiobuttons can be an alternative if:
- Only 2-3 choices are to be made, and embedded screens already include tabs
- A less dominant layout is preferable
- Longer text labels are needed
For more information on view selection and which alternatives exist see Selecting Views.
Examples for Changing Views in iViews
Toggle between different visualizations of the same data
- Change from bar-chart to pie-chart
- Change column layout of a table
Change between different layouts of screens, for example, change between:
- Overview and details
- Simple and extended version
- Attribute categories of one object
Examples for Using the Shuffler in iViews
- To offer a collection of predefined reports
Example: Different Top Ten reports about cost centers
- Filter different line items based on attribute-based filters
Example: view subset of inbox items
Example: view all orders older than 123
- Change sorting order
Example: show all transfers sorted by receiver
- Select different objects of one object class
Example: show cost center XYZ
Variants of the Shuffler
Shufflers can create whole sentences with variable components.
Example: Show me all <cancelled> orders <of last year>
This variant, however, cannot easily be translated into other languages. In addition, the shuffler query statements tend to become rather long, which is a problem for iViews. A shorter formulation of the query using a label and an accompanying selection element is better suited to iViews.
Example: Display <cancelled orders>
The following table provides a more formal approach to assembling shuffler query statements.
Table: Assembling Shuffler Query Statements
|
Queries for one object class
WHERE Object <LogOper Attribute> |
|
SHOW
|
<Object Attribute>
|
|
|
All Emails
|
|
|
Unread Emails
|
|
|
Today's unread Emails
|
|
|
All unread Emails
|
|
|
Queries across classes
WHERE <Object LogOper Attribute> |
|
SHOW
|
<Object Attribute>
|
|
|
All Emails
|
|
|
Unread Emails
|
|
|
New Workflow Items
|
|
|
All Alerts
|
|
|
WHERE clauses
WHERE <Object> <LogOper Attribute> |
|
SHOW
|
<Class>
|
<Attribute>
|
|
|
Emails that are unread
|
|
|
Emails that have attachments
|
|
|
Workflow items with Prio 1
|
|
|
Workflow items with Prio 2 or lower
|
|
|
Complex Queries
WHERE <Object> <LogOper Attribute> AND <Object> <LogOper Attribute> |
|
SHOW
|
<Object>
|
<Attrib1>
|
<Attrib2>
|
|
|
Emails that are unread and from this week
|
|
|
Filter & Sort
WHERE <Object> <LogOper Attribute> Grouped By < Attribute> |
|
SHOW
|
<Object>
|
<Attrib1> grouped by <Attrib2>
|
|
|
Orders of Customer XYZ
|
|
|
grouped by Date
|
|
top
Source: SAP
iView Guidelines for Java
|