In Dundas BI, you can apply formulas to data by writing small expressions, much like you would in a spreadsheet program. A formula expression can be a simple constant value, arithmetic or other math functions, a call to a built-in formula function such as AVG or TOP, or any combination of these. For more complex formulas, you can write DundasScript.
Although this article demonstrates the various ways of using formulas while editing a dashboard or another view, you can add formula measures when editing a metric set full-screen as well.
Related video: Formulas
2. Accessing the formula bar
Select a data visualization on the canvas, go to the toolbar, click Data Tools, and then click Add Formula. (When editing a metric set full-screen, simply choose Add Formula in the toolbar).
A formula bar appears below the main toolbar. The output option lets you choose how you initially want to visualize the new formula measure. There is also an advanced mode for entering complex, multi-line formula expressions. Once you are finished entering your formula, click apply.
Alternatively, you can also add a formula from the Data Analysis Panel: go to the Measures section and click the click to add link.
Then go to the Calculated Elements section and click <Formula>. The formula bar will appear the same way as shown earlier.
3. Simple formulas
By default, the formula bar starts off in simple editing mode which allows you to enter a one-line expression.
3.1. Constant value
The simplest formula expression you can have is a constant number value. As an example, consider a bar chart showing OrderQty as a measure by OrderDate.
Open the formula bar for this chart and click the output button. Select the Line chart option and then click Submit.
Notice that the icon for the output button changes to indicate a Line chart visualization.
Type a constant numeric value into the formula bar and click apply (or press the Enter key). The text box is highlighted in blue and a checkmark appears on the right which indicates the formula syntax is correct.
The formula result is calculated and added to the chart as a Line series.
Open the Data Analysis Panel for the chart to see the formula result has been added as a second measure to the underlying metric set (appears with an fx icon).
A formula expression can include one or more placeholders representing measure or hierarchy values. To insert a placeholder, type a dollar sign ($) character in the formula bar. You will see a menu that lists available placeholders you can insert.
The inserted placeholder consists of the measure or hierarchy name enclosed between dollar sign characters (for example, $OrderQty$). Hierarchy placeholders should be followed by a period (.) and one of the identifiers: MemberTime, MemberNumber, UniqueName, or Caption. If no identifier is indicated, Caption is used by default.
Another way to insert a placeholder is to click the relevant part of a data visualization. For example, click the data point in a chart to insert a placeholder for the corresponding measure, or click the hierarchy axis to insert a placeholder for the corresponding hierarchy.
After using a measure placeholder in your formula, click it to open the Placeholder dialog, which contains options that can be helpful for some formulas.
(When first adding a formula, click apply before clicking on the placeholder.)
To refer to values from other rows or columns, set Offset Value and Offset Axis. For example, an offset of -1 can refer to the previous row's value.
The Aggregator can optionally be changed just for the values inserted by this placeholder into the formula, for example to refer to the measure's average rather than its sum.
You can use arithmetic operators within a formula expression as well as math functions such as Math.Max() and Math.Abs(). These arithmetic operations and math functions are calculated separately in each row.
- $OrderQty$ * 0.5
- Math.Abs(-0.75 * $OrderQty$)
Dundas BI includes over 50 built-in formula functions which you can apply to your data. These functions work with the entire series of values you specify when calculating their result.
Type a letter in the formula bar and you'll see an auto-complete menu showing a list of matching functions you can choose from.
Once you've chosen a function (or typed it in manually along with the open bracket), a tooltip appears which shows the required and optional arguments for the function.
The first argument for the AVG function is a measure placeholder which you can insert by typing a dollar sign character or clicking on a data point.
Click the advanced button on the right of the formula bar to go into advanced editing mode. This button works like a toggle allowing you to flip between simple and advanced modes.
In advanced mode, you can enter multiple lines of script to more easily include if statements and other syntax available when using DundasScript. The formula should return a value using the return statement for advanced mode, even if it is just a single line.
For example, a constant formula must be entered as:
if ($Measure$ > 100) return 1; else if ($Measure$ < 0) return -1; else return 0;
5. Formula visualizations
When editing a dashboard or another view, click Data Visualization, and then click Formula Visualization under the Formula category.
This opens the formula bar just like for adding a formula measure, except that you are able to optionally refer to data from multiple visualizations or metric sets rather than just one.
When you click apply, an entirely new metric set is created and displayed in a new visualization instead of modifying an existing visualization and metric set. This new metric set is called a formula metric set, and it is able to produce an entirely different output than the metric set(s) it was based on, potentially consisting of different rows or columns as well as different measure values.
For a walkthrough on adding formula visualizations, see Using a formula visualization.
Once you've added a formula measure, you can go back and edit it by clicking the fx button in the Data Analysis Panel.
The formula bar opens and the corresponding formula is loaded into the formula bar.
You can make changes to the formula and then click apply.
In addition to placeholders for measures and hierarchies, formulas support parameter placeholders, which allow you to refer to the value of a parameter connected to a filter or set in script. This can allow viewers of dashboards and other views to enter their own value into the formula, pass in a value through an interaction, or for custom functionality implemented in script to affect the formula when viewing.
To create a parameter placeholder, simply type one in when adding or editing any formula. Choose a name that's not already taken by an element in your metric set, and surround it with dollar signs ($):
(After typing a dollar sign, a popup menu will list the names that are already taken).
The placeholder can either appear by itself, or be used anywhere in the formula you would like to be able to change the value later. Click apply when done.
This creates a parameter that is numeric. You may want a parameter that isn't numeric, especially if using the advanced mode of the formula bar to write script into your formula. You can change its type by clicking on the placeholder you just typed, which is now underlined, then clicking Parameter placeholder properties....
Go to Filters in the toolbar and add a filter. Or, to set the parameter value through an interaction or through script, you can open the Parameters window and add a new view parameter.
In the connections list that appears, un-check any existing connections, which are for regular filter parameters, and then find and expand your formula measure. Connect to the (Single Number) parameter under the formula measure. (If you changed the type of the parameter, look for the single value of that type instead).
For a numeric parameter, you might have chosen a Slider filter. You may now want to change its minimum and maximum settings in the Properties window to accommodate a particular range of values.
You and other viewers can now change the value used in this formula.
When filtering a metric set that contains formula measures, formulas are calculated after filtering is applied, except for filtering by formula measure values. These operations occur in this order:
- The metric set's data is filtered by hierarchy values and by measures that are not formulas
- All formula measures are calculated based on this data
- The resulting data can then be filtered by formula measure value
For example, the following table shows a formula measure using the Percent of Total function, which was calculated based on the entire set of rows. Filtering this formula measure to a range of 0.15 (15%) and up preserves and filters by these calculations, displaying only one row: