# Adding Formulas

## 1. Overview

In Dundas BI, you apply formulas to data by writing small script-like expressions, much like you would in a desktop spreadsheet program. A formula expression can be a simple constant value, a mathematical expression involving measures, or include built-in formula functions such as AVG and TOP.

Although you can add formulas in the Metric Set Designer, this article focuses on the different ways to apply formulas within the Dashboard Designer.

## 2. Setting Up

To get started, we will use the Adventure Works database to create a table visualization. From the *[Sales].[SalesTerritory]* table, use *Name* as the hierarchy and *SalesYTD* as the measure.

## 3. Accessing the formula bar

Select a data visualization on the dashboard canvas, go to the **toolbar**, click **Data Tools**, and then click **Add Formula**.

Or, right-click (or long-tap) the data visualization and click **Data Tools** and then **Add Formula** from its context menu.

A formula bar appears below the main toolbar. The basic idea here is you enter your formula in the text box and then click **apply**. The **output** option lets you choose how you want to visualize the formula result/measure. There is also an **advanced** mode for entering complex, multi-line formula expressions.

Note that 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 just like before.

## 4. Simple formulas

By default, the formula bar starts off in simple editing mode which allows you to enter a one-line expression without any *return* or *if* statements.

### 4.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 in the text box 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 Binding 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).

### 4.2. Placeholders

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 text box. 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.

*$ProductID$.MemberNumber*when the hierarchy has numeric members, and

*if($HierarchyMember$.Caption == "Test"){return 0;}*when the hierarchy has string members.

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.

### 4.3. Math expressions

You can use arithmetic operators within a formula expression as well as .NET Math functions such as Math.Floor() and Math.Abs().

Examples:

- $OrderQty$ * 0.5
- Math.Abs(-0.75 * $OrderQty$)

### 4.4. Functions

Dundas BI includes over 50 built-in formula functions which you can apply to your data.

Type a letter in the formula text box 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 required 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.

See Connect to OLAP data and apply a formula for a walkthrough on using formula functions with OLAP data.

## 5. Advanced mode

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 a multi-line formula expression using .NET/C# syntax including *if* statements. The formula should return a value using the *return* statement, even if it is just a single line.

For example, a constant formula must be entered as:

return 40000;

## 6. Formula visualizations

Go to the **toolbar**, click **Data Visualization**, and then click **Formula Visualization** under the FORMULA category.

This opens the formula bar just like before except that when you click **apply**, the formula result is added as a new visualization instead of modifying an existing visualization/metric set. A new metric set is actually created which is sometimes referred to as a formula metric set.

For a walkthrough on adding formula visualizations, see Using a formula visualization and Connect to OLAP data and apply a formula.

## 7. Editing a formula

Once you've added a formula measure, you can go back and edit it as follows.

Open the *Data Binding Panel* for the data visualization. Click the **edit** button of the formula measure. In the *Configure Metric Set Element* dialog, scroll down and click **Formula**.

The formula bar opens and the corresponding formula is loaded into the text box.

You can make changes to the formula directly in the text box and then click **apply**.