[{"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 Pie
and Doughnut
plots are suitable to show how the parts of a whole compare to each other in size.
A Pie
plot encodes Data Values
into disks divided into slices.
A Doughnut
plot encodes Data values
into rings divided into segments.
In both cases, the slice or segment's arc length is proportional to the corresponding part of the Data Value
. The examples below emphasize Data Values with a bold font and their Parts - with an italic font. Also, we will use the term circular sector
for both disk slices and segments of a ring.
A single value pie plot visualizes parts of one data value.
For instance, the Pie Plot Demo shows contribution of product categories into the Net Sales.
You could also display several values divided into common parts using a Pie or Doughnut plot.
For example, the Doughnut Plot Demo shows contribution of product categories into the Discounts, Returns, and Unit Cost.
This configuration places doughnut segments next to each other, creating a circular-shaped bar plot.
For instance, the Circular Bar Plot Demo shows contribution of sales channels into the Net Income.
You can configure all these types using the Pie
template and its properties described in the following sections. The Doughnut
template is just a shortcut to a pre-configured Inner Radius
property value.
You can use the following demos to explore 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 Pie
or Doughnut
on the first page of the Chart Wizard
, and click the Next
button, the wizard shows the Pie Settings
or Doughnut 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 configure the Details Encoding.
The Values
collection of a Pie plot determines the data value you want to break down into parts. The collection items consist of two properties:
The Value
is usually a bound field reference. The Properties Panel displays the Value
as the collection, but Pie
and Doughnut
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.
For instance, the Pie Plot Demo has the Value={SalesAmount}, Aggregate=Sum
Data Value.
The Details Encoding
breaks down data values into parts specified in the Details
collection of items consisting of 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 part. Data Values within each part are reduced into a single value by applying the Aggregate
function. For instance, in the Pie Plot Demo
, the Details
value is {ProductCategory}
. Consequently, the disk representing the Net Sales
breaks down into multiple circular sectors corresponding to distinct product categories.
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 sectors.
Stack
- This is the default value. The Pie Plot
divides disks into slices. The Doughnut Plot
divides rings into segments.
Cluster
- A plot places circular sectors next to each other creating a Circular Bar.
None
- equals to Stack
.
The Sorting
configuration determines the order of circular sectors' appearance.
Note: Pie
and Doughnut
plots take only the first item of the Details collection and ignore the rest
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 Details Encoding
and includes the Color
expression and the optional Color Aggregate
function that reduces many Color
values into a single one.
The plot calculates distinct Color Encoding
results for parts produced by the Details Encoding
, converts them to fill color of corresponding circular sectors, and displays the match between colors and encoding results in the legend. Colors come from the Chart Palette.
For instance, the Pie plot demo uses the {ProductCategory}
expression for the Colors Encoding. Consequently, the report output shows the colors legend that matches Product Categories with the corresponding slices' fill color.
Note: The Color
property is the collection, but the Pie
plot takes the first item only.
The following properties allow you to fine-tune the outfit of circular sectors that form a Pie
, Doughnut
, or Circular Bar
plot. You can see their effect in action by modifying the configuration of any demo.
The Opacity
is a number in percentage that determine the opacity of circular sectors filled with color. 100%
means they are opaque, and 0%
means that they are entirely transparent.
The Inner Radius
is a number in percentage of the outer radius that defines the size of a hole in the center of the disk. For instance, in the Doughnut Plot Demo, this property is set to 20%
.
The Offset
is a number in the percentage of the arc length that defines the size of the gap between circular sectors in a Pie or Doughnut plot. Try setting this property to 10%
in the Pie Plot Demo to see its effect.
The Start Angle
is a number in arcdegree that defines the rotation of the plot clockwise. Full rotation is 360
degrees.
The Sweep
is a number in arcdegree from 0
to 360
that determines the arc length occupied by the plot. For example, in the Circular Bar Plot Demo, 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 sectors borders.
The color expression in the Background
section sets the fill color of circular sectors and overwrites the Color Encoding
described earlier.
The Text Encoding
collection offers a way to configure pie and doughnut plots to display customized labels and tooltips on the circular sectors. 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.
{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 Pie Plot 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:
{detailFields.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 slice:
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 sectors. 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 Pie
and Doughnut
plots can be applied when a condition is met:
The background color of a disk slice or a ring sector
The color of the disk slice or ring sector border
The width of the disk slice or ring sector border
The style of the disk slice or ring sector border
The tooltip and label template
For instance, you can set the following rules for the plot in the Pie Plot Demo to set a custom label template for the Computers
sector:
where the custom label template is {PercentageCategory:p2} ({valueField.value:C2})
As a result, the output of the chart will be like this:
This group of properties determine the Interactive Action when a report reader clicks inside a circular slice. 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 is applicable for a pie plot.