Table of Contents

Analysis/BI Overview

This article is not a how-to guide or a tutorial on how to build analysis graphs and pivot tables, but a conceptual overview on the various tools and settings that are available. It is recommended that you get a basic acquaintance of the analysis tools first and then use this as a reference to learn about more advanced capabilities. Also see the Visualization Gallery for a visual demonstration of the capabilities.





Query Entities

An analysis graph/table is based on a query. A query is constructed out of entities, and the values for these entities are then arranged in a table or graph for visualization. The types of entities are:

Filters constitute an additional type of query entity, but they are used for restricting the results rather than for displaying information.

Included in the Dimensions are special timescale Dimensions such as Year, Month, Hour of the Day, Month of the Year, etc. These can only be added once an Indicator or Dimension exists in the query, which defines the query base table, as well as the date field to use for the timescale Dimension.

Both Indicators and Dimensions may be duplicated (right-click/Duplicate) and the same Indicator/Dimension can then be added twice to the same query. Example uses:


Indicator-Dimension comparison matrix:

Indicators Dimensions
Numeric/Duration/Currency/Date values only.
Text fields can be added as Indicators only as Counts
Any field data type.
Indicators are always aggregated (sum/avg/min/max/etc).
I.e. multiple values are aggregated into a single value grouped by Dimensions.
Dimensions are never aggregated.
Each Indicator is treated as a separate virtual query.
This allows Indicators to be added without restricting the results of other Indicators.
All Dimensions are used and joined together in the same query, affecting the results of Indicators and each other.
Each Indicator defines its own base table defined by the first field used in the Indicator. All Dimensions are joined to the base table.
If there are no Indicators, the first Dimension defines the base table.
Indicators may be filtered without affecting results of other Indicators.
For example, 'Sales for John' and 'Sales for Sara' can be two Indicators in the same query.
Dimensions can only be filtered using global filters.
Indicators may be hidden so that they affect the visualization of the results without actually being displayed. Since Dimensions usually slice the data into more rows, they are always included in the results to avoid confusion.
Dimensions can be added and then re-aggregated however, which hides them.
Each Indicator has its own date field setting which is used by timescale Dimensions
(Year/Quarter/Day of the Week/etc.)
Dimensions only define the date field for timescale Dimensions if there are no Indicators,
and then it is always the Created Date field.
Custom Functions can be built specifically for an individual query to be used as Indicators.
Custom Functions can also perform calculations on aggregated values.
Dimensions can only use Custom Functions that have been defined as a Custom Field.
Multiple rows of Indicator values can be used/combined for calculations using the 'Table Calculations' feature. N/A
Indicators are only shown as continuous graph axes. Dimensions can be shown as either continuous or discrete graph axes (see below).


An analysis table/graph may consist of:


Calculations

There are many types of calculations that may be performed for different purposes:


Filters

There are several types of filters that can be added to an analysis query (see also Advanced Filters and Custom Functions for general filtering features):

Note that the date filter above the graph area is a global filter, available there for convenience due to frequent use. It filters on the date field defined as the Indicator date field in Settings/General/General.


Positioning

A query entity (Dimension, Indicator or Group) can be placed in various 'locations' for displaying the same results in different arrangements. This includes pivoting functionality as well as other features.

Note that since results are displayed simultaneously as both a table and a graph, each of these locations may mean different things depending on whether you are currently viewing the graph or the table.

Note that the boxes for Colors/Shapes/Sizes are not actually locations, but shortcuts for auto-assigning colors/shapes/sizes based on values in an Indicator or Dimension. For example, dragging 'User' into 'Colors' will change the values of the graph/table, assigning a different color per user. An Indicator can be dragged into any of these boxes and removed from their proper locations in order to set them as 'Hidden'.

Methods for changing Locations and Levels of query entities:

Drag-and-drop actions:



Example 2 Example 1

Grouping

Grouping is a powerful but abstract concept that allows grouping multiple Indicators or Dimensions onto the same pivot level and location.

By default, new Indicators are added grouped, and Dimensions are not.


Consider the following example, displayed in four progressive screenshots:

1. We start with a simple graph that displays 'Amount of Opportunities' (an Indicator) by Year. The Amount is displayed on the y-axis, and the year on the x-axis.

2. Now we want to add 'Amount of Tasks' as a second Indicator and display it also in the Rows location/axis. Without grouping, the screenshot shows what happens. The new entity is added as a new Row pivot, and one row of graphs is displayed for every unique Amount of Tasks value.

3. If we group 'Amount of Opportunities' and 'Amount of Tasks' together, we get two entities to position instead of the two Indicators: 'Indicator Names' and 'Indicator Values'. The third screenshot shows what happens when the 'Indicator Values' is displayed as the first Row entity, and the 'Indicator Names' as the second Row entity. Note that both Indicators are arranged on the same pivot level.

Example 4 Example 3

4. The fourth screenshot shows what happens when we move the 'Indicator Names' to Series, and the 'Indicator Values' stays in the first level Row. Each Indicator entity creates a separate graph series instead of its values, which would not be possible without grouping.


To dig into this concept deeper, consider the following:

Limitations: Based on the above and due to limitations in tables and graphs, there are a few limitations on where the group 'Names' and 'Values' entities can be placed. For example, 'Names' must be on the same level or higher than 'Values'. The editor will automatically correct illegal placements of the grouped entities as necessary.


Uses:



Axes

There are several axes in analysis tables and graphs:

All of the above are considered axes, and most settings and concepts for axes such as “Equal Axes”, “Reverse”, “Show Titles”, “Axis Font”, etc. apply to them all. Only some axis settings such as “Swap Scales”, “Show Line”, “Ticks”, etc. apply to graph axes only.

Axes may display any of three things, and settings may be applied separately to each of these:

Equal Axes

By default, each axis will only display the values that appear in that pivot section. For example, “John” and “Mary” may have made sales amounting to $500 and $1000 in 2006, and the graph will display these, but if, in 2007, only “John” has sales of $50, the graph for 2007 will show a Sales axis of 0-50 only, and only one user.

The same behaviour applies to pivots in tables. Only the relevant data is displayed in each pivot section to save space, and this allows viewers to determine which dimensions/values are relevant to which pivot section.

But, sometimes, especially with multiple graphs, you would want to be able to quickly and visually compare the graph results without reading and comparing the values. To do this, the “Equal Axes” setting must be enabled for the Sales Indicator, the User Dimension, or both. This ensures that each graph will have the same range of values in its axis, and that the graphs can be visually compared to each other according to the size and position of the plot points.

Discrete vs. Continuous Axes

Pivoted and table axes are always discrete.

A graph axis can be either discrete or continuous. A continuous axis means that:

The following rules apply:

Sorting

The Sort button allows sorting by up to six entities, either Indicators or Dimensions. The sort can be defined as ascending or descending.

The sort will affect how values are shown in axes and pivots.

There is also a “Reverse” setting in Settings/Graph/Axes which affects the sorting, but is not quite the same:

Totals

Tables by default display totals and pivot subtotals for all numeric values and Indicators.

For a non-pivoted column to display totals, both the 'Total' and 'Subtotal' settings must be on.

For a pivot to show subtotals, the 'Subtotal' setting must be on for that entity.

Example:

Sales & Costs (non-pivoted Series and Rows) pivoted on a 'User' dimension.

If Sales has 'Total' checked and Costs has it unchecked, each series column will only total the Sales column.

Each User pivot section will subtotal only the Sales column as long as the User dimension has 'Subtotal' checked.

Multiple Graphs & Scrolling

When pivoted Rows/Columns are added to a query, multiple graphs are displayed in a grid (as shown in examples above).

By default the grid size is limited to 5 rows and 5 columns of graphs in order to make the graphs readable.

This grid can be adjusted using the settings under the graph area. There are three settings:

If the grid of graphs does not display all available graphs, scrollbars will automatically appear for displaying the next/previous batch of graphs.

Note that there is another setting which may cause the vertical scrollbar to appear: “Columns Per Page” in Settings/Graph/Graph. This is useful when there are too many columns in the graph x-axis and you want to be able to scroll through them rather than display them all at once. However, if the grid cannot show all of the graphs, the grid scrollbar will override this scrollbar.


Graph Types

Graph Types are grouped under two categories: Graphs that can show multiple columns (or that have at least two axes and an ability to show series), and graphs that can only show one set of values.

Multi-Column graphs include:

Non multi-column graphs include:

Using series, some graphs can be combined in a single graph. For example, Sales can be displayed as bars, and Costs as lines. Combinations allowed are:

The rest of the graphs can only be combined by using pivots and multiple graphs. This allows comparing the values side by side using different graph types. But multi-column graphs cannot be combined with non multi-column graphs even using this method unless you add two separate analysis components to a dashboard or document template.

Special Graphs

A Surface graph uses the Series as its y-axis and the first Row entity as its z-axis.

A Contour graph uses the Series as its z-axis and the first Row entity as its y-axis. This is to allow combinations with the rest of the XY graphs.

An Interline graph collects sets of two series, draws two curved lines for them, and fills the area in between them using the colors for both lines depending on where the line is relative to the other line.

Radar graphs show the first Row entity on the radial axis.

Pie, Donut, Pyramid, and Cone draw one section per series value and the first Column entity is shown as a pivot.

Gauges display one pointer per series value, supporting multiple pointers, and the first Column entity is shown as a pivot.

Visualizations

Special notes for colors, shapes and sizes per graph type:



Settings

Settings for analysis visualizations are applied using an advanced matrix of defaults, query entities, rules, values, and priorities. This section lists the basic concepts for applying settings, as well as some special settings.

There are three groups of settings:

Settings can be defined at:

Settings applied to a specific query entity can affect other query entities depending on what is set in the 'Apply To' drop down:

A special note regarding graph options: All graph settings except Axis and Zone settings always apply to [All]. This is because it would be difficult to figure out which entity is shown as a graph, which as a set, and which as a plot point. So, for example, setting the graph background in a query entity shown as a line will affect the graph that it is in. Axis and Zone settings do not work this way for the simple reason that there are multiple axes per graph, and a user needs the control to decide which specific axis to apply the settings to.

Note that, using the Value drop-down, multiple rules can be applied. Examples:

All visualization related settings have at least three values: On/yes (or a specific value), off/no (or a zero/empty value), and undefined. If the setting is undefined/unchecked at the highest level, it tries to find the setting value at a lower level, until it reaches the built-in defaults.

Settings are applied using the following hierarchy, sorted by priority:


Special Settings

Many settings affect the various graph types differently, or have no effect whatsoever on some graph types. For example, a bar is only affected by the Shape setting if it is in 3D, Swap Scales only works for XY graphs, a separate Plot Area background only exists for XY and Radar graphs, Labels appear in different places for each type of graph, etc.

For a list of how the color, sSales by User by Yearhape and size settings affect graph types, see the Graph Types section above.

Axis Range & Ticks: These settings are used only as a suggestion and may be ignored if the values are not reasonable. For example if the range is 1-1000000 with ticks every 10 points, this will not work.

Ticks show values every major point, and only tick lines for minor points.

The Axis Range setting is not enabled for the [Default] entity because it does not make sense to apply a global setting for all Indicators and Dimensions.

3D Gap/Depth: This only applies with 3D XY graphs between multiple sets/series and even then, it is ignored for stacked/side/percent bars and area graphs.

The 3D Graph Options section is only relevant for Surface, Pie, Donut, Pyramid and Cone graphs, but this may change in the future.

Swap Scales isn't the same as swapping the entities in the Columns/Rows. It affects how certain graph types are drawn. E.g. bars and boxes will be drawn from side to side instead of from top to bottom, and lines will be drawn from top to bottom.

Reverse vs. sort: See the Axes section above.

Several axes settings have a value listed as 'First/last'. This only has an effect when pivots are shown. By default, the same headers or axes would be shown repetitively for each pivot section. This setting allows you to show the axis lines only for the first/last pivot section, or to show the table series headers only for the first table pivot row, etc. This saves space, but normally it requires that you switch on the “Equal Axes” setting so that multiple graphs/pivot sections can be compared visually without their axes. In other words by using the 'first/last' setting, multiple graphs or table pivot sections will have different elements drawn depending on whether it is first/last or not, causing them to be drawn with different sizes, which makes it hard to compare them visually at a glance.

The difference between 'first/last' and 'first/last only' (graphs only) is that with 'first/last' it leaves room for the element (e.g. the axis title) but doesn't actually display it so that the graph will be the same size as the rest, and with 'first/last only' it maximizes the space, completely removing elements that are not used (such as axis values), thus saving space but causing the graphs to appear with different sizes.

Plot Area Margin: Although only the XY and Radar graphs have a Plot Area background, the Plot Area Margin setting applies to all graphs. This setting is very important and allows the user to adjust the margin between the border and graph in case axes or labels exceed the boundaries and are cut off. For example with a Surface chart, often the 3D axes will be cut off. The margin values can also be negative to remove extra spacing, or to purposely cut off the axes.

The Frame Depth setting can be positive or negative numbers for creating a protruding or indented frame.

Some settings work differently depending on whether they are defined for the [Default] entity, or a specific query entity, but only if multiple graphs are shown:

The Labels settings are not the same as axis labels. These show up inside the plot area for all graph types, including gauges and pie graphs.

Columns Per Page: See the Axes section above.

Zones, Marks and Color Zones use static values for now, but you can add dynamic values from the database as areas, lines or boxes to have a similar effect as marks and zones.



Conversion of Old Queries

This BI tool is new to Digital-Clay version 9 and it necessitated significant changes to the infrastructure and querying code. 8.x and older queries will be converted on the fly when they are loaded to the best of its abilities.

Note that there are no issues with converting list/browser queries. Only with analysis queries.

The possible issues are: