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 top

Source:  SAP iView Guidelines for Java