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.
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).
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 Functions topic.
Syntax
=RangeBar(Minimum, Maximum, Color, Start, Length)
Simple Example
=RangeBar(0, Max(Fields!TotalAmount.Value), "BlueViolet", 0, Fields!TotalAmount.Value)
Usage
Use an expression like the example in the BackgroundImage property of a TextBox or the Value property of an Image. This renders a bar in the color specified, the width of which changes depending on the number returned by the Value parameter, in the case of the example, TotalAmount. If your data contains only positive values, Start corresponds with Minimum at the left edge of the DataBar. The area between the Value and the Maximum is transparent.
Example Using Negative Values
=RangeBar(-10, 25, IIf(Fields!Difference.Value < 0, "Red", "Blue"), 0, Fields!Difference.Value)
When your data contains negative as well as positive values, you can use an Immediate If expression for the Color parameter. In the example above, if the Difference value is negative, it is rendered in red, while positive values are rendered in blue. You can also see that negative values are rendered to the left of Zero and positive values are rendered to the right. A Length value of exactly zero is rendered as a diamond.
Default Behavior
The function returns null (i.e. no image is rendered) in any of the following cases:
- The Maximum is less than or equal to the Minimum.
- The expression is placed in a property which does not take an image.
- The Source property of the image is not set to Database.
The Start value changes in the following cases:
- If the Start value is less than the Minimum value, Start is the same as Minimum.
- If the Start value is greater than the Maximum value, Start is the same as Maximum.
The Length value changes in the following cases:
- If the Start value plus the Length value is less than the Minimum value, Length becomes Minimum minus Start.
- 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 |
Dialog
Selecting <Data Visualizer...> from the Smart Panel or Property Grid for a property that supports this data visualization will launch the following dialog. To build the data visualizer expression, just select the appropriate values for each of the options on the dialog.
Tutorials
Walkthrough: Expressions