[{"id":"425f2be4-b65d-4cdf-b543-fb4397f51672","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"a1041c29-1f9f-497e-b577-3e673e487c51","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"c1e3b2a0-7159-4980-a5e1-4fbb04c7fcc1","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"128acbbc-5c49-416b-9c1f-91f679362b23","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"3bc7a653-1dd3-4a33-b35c-41b0ddc2f446","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"cecedb46-bf12-401c-a04c-5282e11b8274","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"2f1768df-3e8b-41c2-826e-93f1a82273d1","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"d9528848-3bae-42c1-8f6d-410a78341cef","tags":[{"product":null,"links":null,"id":"4d7b6a40-ab32-4c71-a381-58f3ffd2653e","name":"new","color":"#ed7422","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"2683b3de-5c23-429d-9a88-4917616d20ad","tags":[{"product":null,"links":null,"id":"4d7b6a40-ab32-4c71-a381-58f3ffd2653e","name":"new","color":"#ed7422","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"b96827a0-6bd4-4184-86a4-6fe503d0e4b4","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"96d2140c-5bb6-49b6-a4c7-4af4b7de2e52","tags":[{"product":null,"links":null,"id":"4d7b6a40-ab32-4c71-a381-58f3ffd2653e","name":"new","color":"#ed7422","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"11f27d32-9547-4a8c-9e88-5dd2bffffeda","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"d186bc7e-cbae-4d23-9cd9-a54880be8e4d","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"26754bf1-707e-4815-b6d3-dcdc87a59188","tags":[{"product":null,"links":null,"id":"4d7b6a40-ab32-4c71-a381-58f3ffd2653e","name":"new","color":"#ed7422","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"e4c0a89e-cceb-4863-a30a-dff94f1d8d08","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"c4f826a6-5d16-4399-8f1a-7b8449594941","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"ff2b9815-2596-47f7-8793-3585c9ee24a2","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"46851ce2-51a2-4af4-969d-9fe989997135","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"e3e87330-5250-4923-9cdf-e7e8afd353ab","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"a04db983-f77b-4ec6-857c-1c01afaed85a","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"434eed34-9059-46e4-88f9-15e47d09622c","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"30988f2a-ebd5-4a8c-b20e-54a11a528d30","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"a59719c8-0df2-44e1-b89c-9d8fa0312857","tags":[{"product":null,"links":null,"id":"4d7b6a40-ab32-4c71-a381-58f3ffd2653e","name":"new","color":"#ed7422","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"4be1ecee-287b-43a2-ba99-cfa89de88187","tags":[{"product":null,"links":null,"id":"4d7b6a40-ab32-4c71-a381-58f3ffd2653e","name":"new","color":"#ed7422","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"ea04cced-7866-48e5-a5fe-1e9f11004d59","tags":[{"product":null,"links":null,"id":"fe610228-9cf6-417f-813a-dcbfd25406c3","name":"upd","color":"#7e678a","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]},{"id":"ab17d080-0112-4ba4-8dae-ef367bec7b78","tags":[{"product":null,"links":null,"id":"4d7b6a40-ab32-4c71-a381-58f3ffd2653e","name":"new","color":"#ed7422","productId":"d699a6af-e150-4da3-ab30-25fd97934601"}]}]
The Spiral
plot is suitable for comparing Data Values
across Categories
using a circular shape. It arranges categories along a radial line and encodes data values into circular bars. You can also choose a method of dividing data values into subcategories within a containing category. The examples below emphasize Data Values with a bold font and Categories - with an italic font.
In its simplest form, a spiral plot is very similar to a bar plot displayed on a polar coordinate system. For instance, the simple spiral demo shows the Sales Amount per Product Category.
A stacked spiral plot breaks down data values into subcategories by placing corresponding circular subsections next to each other within the containing category. The Stacked Spiral Demo shows the Sales Amount for each sales channel per Product Category.
A percentage stacked spiral plot combines the stacked spiral plot and the Percentage
axis scale. It indicates the contribution of each data values' sub-category to a containing category's total. For instance, the Percentage Stacked Spiral Demo shows the percentage share of the sales channels' Sales Amount per Product Category.
You can configure all these types using the Spiral
plot template and its properties that we described in the following sections. The Stacked Spiral
and Percentage Stacked Spiral
templates are just shortcuts to a specific configuration.
You can use the following demos to explore the plot properties - open a link, toggle the Report explorer, select the Plot - Plot 1
node and use the Properties panel to modify the configuration.
You could also download the report files listed below and open them in the Standalone Report Designer.
If you add a chart into a report, set the plot type to Spiral
on the first page of the Chart Wizard
, and click the Next
button, the wizard shows the Spiral Settings
page that looks like the following:
The Data Values
section allows you to add one or more Data Values.
The Data Categories
section allows you to set the Category Encoding.
The Data Subcategories
section allows you to configure the Details Encoding.
The Spiral
plot is used for comparing items, such as the net sales or the average rainfall. The plot's Values
collection determine these items that consist of two properties:
The Value
is usually a bound field reference. The Properties Panel displays the Value
as the collection, but Spiral
plots take the first item only. The Chart Wizard displays Value
as Field
.
The Aggregate
is an optional function, such as Count
or Average
, that reduces many field values into a single one. If a Bound DataSet contains aggregated values, then you can set this property to None
.
For instance, the plot in the Simple Spiral Demo has the Value={SalesAmount}, Aggregate=Sum
Data Value.
Spiral
plots do not currently support multiple data values. Therefore the Values
collection should always contain one item.
The Category Encoding
of a Spiral
plot is a set of properties that determine the range of Category Values
for which the plot generates circular bars representing those above Data Values
.
The Category
is usually one or more bound field references. Bound DataSet Records with the same values of these fields fall into the same category. For instance, the Simple Spiral Demo Chart is bound to the Sales DataSet
containing several fields per data record including the ProductCategory
. The plot's Category
list contains the {ProductCategory}
reference. Therefore the plot goes through the Sales DataSet
and places distinct ProductCategory
field values along the vertical radial line.
The Category Sorting
configuration determines the order of the category values appearance. For instance, the plot in the Simple Spiral Demo
has the following settings to sort the product categories by the sum of sales in ascending order.
Category Sort Expression = {SalesAmount}
Category Sorting Aggregate = Sum
Category Sort Direction = Ascending
The Chart Wizard
offers the simplified editor of the Categories Encoding
in the Data Categories
section:
A single Category Expression
displayed as Field
is available.
The Sorting
configuration of the Category Encoding
displays the Sort direction
property only. The Sort Expression
is automatically set to the Field
value.
The Details Encoding
allows you to break down those above Data Values
into subcategories within the containing category for more granular comparison.
The Details
property of a Spiral
plot is the collection of items that define these subcategories. Each item includes several properties:
The Values
is usually one or more bound field references. Bound DataSet Records with the same values of these fields fall into the same subcategory. For instance, in the Stacked Spiral Demo the plot's Details
value is {SalesChannel}
. Consequently, the SalesAmount
circular bars break down into multiple subsections corresponding to distinct sales channels.
The Exclude Nulls
flag indicates whether DataSet Records with an undefined Details Value
should be excluded from the visualization.
The Group
property determines how the plot arranges circular bars divided into subsections.
Stack
- a plot places subsections next to each other. You can use this value to configure a Stacked Spiral
plot.
Cluster
- subsections are clustered into groups.
None
- equals the default value.
The Sorting
configuration determines the order of the subsections' appearance.
The Chart Wizard
offers the simplified editor of the Details Encoding
in the Data Subcategories
section:
A single Details Encoding
item is available.
A single Value
item displayed as Field
is available.
The Group
property of the Detail Encoding
is displayed as the Break-down
method.
The Sorting
configuration of the Details Encoding
displays the Sort direction
property only. The Sort Expression
is automatically set to the Field
value.
The Colors Encoding
enables the color legend of the Category Encoding
or Details Encoding
and includes the Color
expression and the optional Color Aggregate
function that reduces many Color
values into a single one.
Suppose the Details Encoding
is empty. In that case, a Spiral
plot calculates distinct Color Encoding
results for the categories produced by the Category Encoding
, convert them to the background color of the corresponding circular bars, and displays the match in the legend.
Otherwise, the plot calculates distinct Color Encoding
results for the subcategories produced by the Details Encoding
, converts them to the background color of the corresponding subsections, and displays the match in the legend.
In both cases, plots pick up colors from the Chart Palette.
For instance, the colors encoding in the Stacked Spiral Demo is set to the {SalesChannel}
expression. Consequently, the report output shows the legend that matches Sales Channels with corresponding bar subsections background.
In most cases, you will use the same configuration for both Details Encoding
and Colors Encoding
to enable a visual map of data values breakdown.
Note: The Color
property is the collection, but the Spiral
plot takes the first item only.
The following properties allow you to fine-tune the outfit of geometrical shapes that form Spiral
plots. You can see their effect in action by modifying the configuration of spiral plot demos.
The Opacity
is a Number in percentage that determines the opacity of circular bars. 100%
means they are opaque, and 0%
means that they are completely transparent.
The Inner Radius
is a number in the percentage of the outer radius that defines the size of a hole in the center of the plot.
The Start Angle
is a number in arcdegree that defines the rotation of the plot clockwise. Full rotation is 360
degrees. In all the spiral plot demos, this property is set to 90
.
The Sweep
is a number in arcdegree from 0
to 360
that determines the arc length occupied by the plot. In all the spiral plot demos, this property is set to 270
.
The Clipping Mode
indicates the manner that the plot area draws a plot:
Fit
value means that the plot area should use all the available space to fit the plot
Clip
value means that the plot area cuts off the plot on the edge of its right or bottom padding
None
value equals to Fit
The line properties in the Style
section determine the appearance of circular bars borders.
The color expression in the Background
section sets the fill color of circular bars and overwrites the Color Encoding
described earlier.
The Text Encoding
collection offers a way to configure spiral plots to display customized labels and tooltips on the circular bars. Each item within this collection has the following properties:
Values
: This is an expression that can reference the values of the bound fields.
Aggregate
: This optional function, such as Count
or Average
, can condense multiple field values into a single value, evaluated within the current detail or category context.
Template Key
: A string used within the Labels or Tooltip template to represent the text encoding item.
Target
: This property specifies whether the text encoding item is meant for the plot's labels or tooltips.
Adding items to the Text Encoding
collection allows automatic display of configured values in Labels or Tooltips, based on the Target
value of each item. To further customize the text of the labels and tooltips, you can employ the Tooltip Template
and Label Text Template
expressions.
Apart from Text Encoding items referenced by their keys, you can utilize the following pre-defined values:
{valueField.name}
: Represents the field name bound to a Data Value.
{valueField.value}
: Represents the current Data Value within the containing Category or Details.
{PercentageDetail}
: Represents the percentage share of the current Data Value among all values within the same Details.
{PercentageCategory}
: Represents the percentage share of the current Data Value among all values within the same Category.
{categoryField.name}
: Represents the field name bound to the Category Encoding.
{categoryField.value}
: Represents the current Category Encoding value.
{detailFields.name}
: Represents the field name bound to the Details Encoding.
{detailFields.value}
: Represents the current Details Encoding value.
{colorField.name}
: Represents the field name bound to the Color Encoding.
{colorField.value}
: Represents the current Color Encoding value.
These values can be combined and formatted using the interpolation syntax and supported format strings that are also used for the TextBox Report Item.
For example, the plot in the Simple Spiral Demo uses an advanced tooltip configuration:
The Text Encoding
contains the SalesQuantity
element that displays the number of sold items:
Aggregate
= Sum
Value
= {SalesQuantity}
Target
= Tooltip
TemplateKey
= SalesQuantity
The Tooltip Template
is configured with the following expression:
{categoryField.value}
Quantity: {SalesQuantity}
Amount: {valueField.value:C2}
A subset of text properties in the Label Text
section and the line properties in the Label Border
section allow you to set up the corresponding visual parameters of the plot labels.
The Label Position
and an optional Offset
in pixels determine the location of labels relative to a parent circular bar:
Inside
- on the edge
Outside
- outside
Center
- inside, on the center
Auto
- equals to Outside
The Overlapping Labels
property indicates the handling of overlapping labels. Possible values are:
Auto
- hides some labels to prevent the overlapping
Show
- shows all labels even if the overlapping persists
The line properties in the Label Line
section allows you to add the connecting lines between labels and their parent circular bars. The Label Line Position
determines the starting point of the line relative to the sector:
Auto
- on the edge
Center
- on the center
The Rules
configuration allows you to create if this then that
rules based on one or more data conditions to apply to the plot appearance. A condition is an expression that may refer to one of the following values:
Chart!CurrentData
- the current Data Value
Chart!PreviousData
- the previous Data Value
Chart!NextData
- the next Data Value
Chart!CurrentCategory
- the current Category Encoding
value
Chart!PreviousCategory
- the previous Category Encoding
value
Chart!NextCategory
- the next Category Encoding
value
Chart!CurrentDetail
- the current Details Encoding
value
Chart!PreviousDetail
- the previous Details Encoding
value
Chart!NextDetail
- the next Details Encoding
value
A condition expression can also include references to report parameters and standard operators. The easiest way to build a condition is to use the expression editor that you can open by click on the box on the right side of the Condition
property.
The following visual properties of a Spiral
plot can be applied when a condition is met:
The background color of a circular bar
The color of the circular bar border
The width of the circular bar border
The style of the circular bar border
The tooltip and label template
For instance, you can set the following rules for the plot in the Simple Spiral Plot Demo to apply the specified background color to the curcular bar when the Category
is Computers
:
As a result, the output of the chart will be like this:
This properties determine the Interactive Action when a report reader clicks inside a circular bar. You can use bound field references to pass parameters in a drill-through report or configure a dynamic bookmark or URL. The field value is evaluated in the scope of the current detail. Visit the Drill-Through Reports Walkthrough for more information. It explains how to set up the drill-through column plot, but the same technique applies to a spiral plot.