# Range Bar

The Range Bar data visualization in ActiveReports displays a 96 by 96 dpi bar image. Learn the parameters, syntax, and usage of this data visualizer.

## Content

The Range Bar data visualization displays a 96 by 96 dpi bar image. The colored bar renders as half the height of the image, centered vertically. The amount of colored bar to render to the right of the Start argument (or to the left in the case of a negative value) is based on the Length argument. If the Length argument is zero, a diamond renders.

![Rang Bar Data Visualizer](https://cdn.mescius.io/document-site-files/images/b298aea2-8cb8-4a0f-be88-4f54aa263ebd/images/design-reports/rangebar.png)

The Minimum and Maximum arguments determine the range of data. The area between the Length argument and the Maximum argument is transparent (or between the Length and the Minimum in the case of a negative value).

The Range Bar Data Visualizer is supported in the Image report control **Value** property, and also in the TextBox, CheckBox, Shape, and Container report controls' **BackgroundImage - Value** property.

When you select a TextBox, CheckBox, Shape, or a Container control on your report, in the Properties window or Properties dialog, you can drop down the **BackGroundImage** **Value** property and select **\<Data Visualizer...>** to launch the dialog. The same is true if you select an Image control and drop down the **Value** property. To build the data visualizer expression, select the appropriate values for each of the options in the dialog.

![Rang Bar Data Visualizer Dialog](https://cdn.mescius.io/document-site-files/images/b298aea2-8cb8-4a0f-be88-4f54aa263ebd/images/design-reports/rangebar-datavisualizer-dialog.png)

## Parameters

* **Minimum**. The lowest value in the range of data. This value corresponds to the leftmost edge of the image. If this argument is greater than the Start argument, Start becomes equal to Minimum. The data type is Single.
* **Maximum**. The highest value in the range of data. This value corresponds to the rightmost edge of the image. If this argument is less than the Start argument, Start becomes equal to Maximum. The data type is Single.
* **Color**. The HTML color string to use in rendering the Length in the bar image.
* **Start**. The point from which the Range Bar begins to be rendered. The data type is Single.
* **Length**. The width of the bar to render within the control. Setting this value to 0 renders a diamond shape instead of a bar. The data type is Single.

You can use static values or aggregate functions (e.g. Min or Max) to set the parameters. For more information on these and other aggregate functions, see the [Expressions](/activereportsnet/docs/v19.2/report-authors/design-reports/design-page-rdl-reports/expressions) topic.

## Syntax

```auto
=RangeBar(Minimum, Maximum, Color, Start, Length)
```

## Usage

Use this data visualizer to render a bar in the color specified, the length of which changes depending on the number returned by the Length parameter, in the case of the simple example, GrossProfit. If your data contains only positive values, Start corresponds with Minimum at the left edge of the DataBar. The area between the Length and the Maximum is transparent.

### Example 1: Easy

Set the Length parameter to the value of a field in your dataset to display the field values visually.

```plaintext
=RangeBar(0,15000,"BlueViolet",0,Fields!GrossProfit.Value)
```

![An example of using Range Bar Data Visualizer](https://cdn.mescius.io/document-site-files/images/b298aea2-8cb8-4a0f-be88-4f54aa263ebd/images/design-reports/rangebar1.png)

### Example 2: Using Negative Values

When your data contains negative as well as positive values, you can use an Immediate If expression for the Color parameter. In this example, if the Projected Stock value is negative, it renders in Crimson, while positive values render in BlueViolet. You can also see that negative values render to the left of Zero and positive values render to the right. A Length value of exactly zero renders as a diamond.

```plaintext
=RangeBar(-5,20,IIf((Fields!InStock.Value - 5) < 0, "Crimson", "BlueViolet"),0,Fields!InStock.Value-5)
```

![An example of using Range Bar Data Visualizer](https://cdn.mescius.io/document-site-files/images/b298aea2-8cb8-4a0f-be88-4f54aa263ebd/images/design-reports/rangebar-negatives-usecase.png)

## Default Behavior

The function returns **null** (i.e. no image is rendered) in the following cases:

1. The **Maximum** is less than or equal to the **Minimum**.
2. The expression is placed in a property which does not take an image.
3. The **Source** property of the image is not set to **Database**.

The Start value changes in the following cases:

1. If the **Start** value is less than the **Minimum** value, **Start** is the same as **Minimum**.
2. If the **Start** value is greater than the **Maximum** value, **Start** is the same as **Maximum**.

The Length value changes in the following cases:

1. If the **Start** value plus the **Length** value is less than the **Minimum** value, **Length** becomes **Minimum** minus **Start**.
2. If the **Start** value plus the **Length** value is greater than the **Maximum** value, **Length** becomes **Maximum** minus **Start**.

If the argument for any of the parameters cannot be converted to the required data type, the default value is used instead.

| Parameter | Default Value |
| --------- | ------------- |
| Minimum | 0 |
| Maximum | 0 |
| Color | Green |
| Start | 0 |
| Length | 0 |
