DYNAMICS CRM CHART EDITING
COMMON CHART XML EDITING

CONTENTS

FORMATING AXIS LABELS 2

REMOVING DECIMALS AND OTHER LABEL FORMATS 3

SCALE BREAK ON Y AXIS (for large difference in the values) 4

SERIES AXIS X, Y LABEL CHANGES 5

LEGEND TEXT MODIFICATION 5

SERIES LABEL CHANGES 6

BAR & COLUMN CHARTS 7

EMBOSS 8

LIGHT TO DARK 9

WEDGE 10

3D 11

STARTING WITH STACKED 13

GO WITH 3D CYLINDER 13

PIE CHART – 3D 14

PIE CHART – CONCAVE 15

PIE CHART – SOFT EDGE 16

DOUGHNUT CHART 17

DOUGHNUT CHART – 3D 18

DOUGHNUT CHART – CONCAVE 19

DOUGHNUT CHART – SOFT EDGE 20

FUNNEL CHARTS SQUARE BASE 21

FUNNEL CHARTS WITH A NECK 22

FUNNEL CHARTS YIsWIDTH 23

3D CHART 24

STACKED CHART / COMPARISON CHART 25

MULTI SERIES CHART 26

LABEL CHANGES 27

CRM 2011 CHART ENHANCEMENTS 28

FORMATING AXIS LABELS

Here is a chart with no formatting on its axis labels:

In the following example, we are assigning a custom format string to the format the Y-axis labels, which can be done either in the designer or with code.

[C#]

Chart1.ChartAreas[0].AxisY.LabelStyle.Format = "$0,,M";

[VB.NET]

Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "$0,,M"

REMOVING DECIMALS AND OTHER LABEL FORMATS

By adding the following label property you can remove the decimals from the Chart.

LabelFormat=”#,0;(#,0)

If you wish to add a $ value to the LabelFormat you would the modify the values to the following:

LabelFormat=”‘$’#,0;(#,0)

Alternatively you can modify the Labelformat to limited the number of decimals. For example if you choose LabelFormat=’F2′ you will only see two decimal places.

Here are a few more examples of the kinds of formats you can provide:

·  "$3 million" - "$0,, million"

·  "$500 K" - "$0, K"

·  "$1,000,000.00" - "C"

·  "$1,000,000" - "C0"

·  "Oct 12, 2006" - "MMM dd, yyy"

·  "October 12, 2006 12:00 AM" - "f"

SCALE BREAK ON Y AXIS (for large difference in the values)

Please note that there are few conditions where scale break is not supported. You can find the details documentedhere.

// Enable scale breaks.

chart1.ChartAreas["ChartArea1"].AxisY.ScaleBreakStyle.Enabled = true;

// Show scale break if more than 25% of the chart is empty space.

chart1.ChartAreas["ChartArea1"].AxisY.ScaleBreakStyle.CollapsibleSpaceThreshold = 25;

// Set the line width of the scale break.

chart1.ChartAreas["ChartArea1"].AxisY.ScaleBreakStyle.LineWidth = 2;

// Set the color of the scale break.

chart1.ChartAreas["ChartArea1"].AxisY.ScaleBreakStyle.LineColor = Color.Red;

// If all data points are significantly far from zero, the chart will calculate the scale minimum value.

chart1.ChartAreas["ChartArea1"].AxisY.ScaleBreakStyle.StartFromZero = StartFromZero.Auto;

// Set the spacing gap between the lines of the scale break (as a percentage of the Y-axis).

chart1.ChartAreas["ChartArea1"].AxisY.ScaleBreakStyle.Spacing = 2;

http://msdn.microsoft.com/en-us/library/dd455709.aspx

SERIES AXIS X, Y LABEL CHANGES

AxisX LabelAutoFitMinFontSize="8" TitleForeColor="59, 59, 59" TitleFont="{0}, 10.5px" LineColor="165, 172, 181" IntervalAutoMode="VariableCount" Title="Red">

AxisY LabelAutoFitMinFontSize="8" TitleForeColor="59, 59, 59" TitleFont="{0}, 10.5px" LineColor="165, 172, 181" IntervalAutoMode="VariableCount" Title="White">

AxisY2 LabelAutoFitMinFontSize="8" TitleForeColor="59, 59, 59" TitleFont="{0}, 10.5px" LineColor="165, 172, 181" IntervalAutoMode="VariableCount" Title="Blue">

LEGEND TEXT MODIFICATION

<Series ChartType="Bar" IsValueShownAsLabel="True" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40" LegendText="Total">

<Series ChartType="Bar" IsValueShownAsLabel="True" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40" LegendText="Savings">

SERIES LABEL CHANGES

I want to customize the series name and legends to something more meaningful than Sum (Estimated Revenue)

The chart in Crm 2011 are based upon the attributes of the entity and hence they reflect the attribute’s name and aggregation (Sum, Avg) if any, in the series names. For e.g. Sum (Actual Revenue) or Count (Name) etc.

However you can customize the series names using the Option Sets (Pick list, Status, State attribute types) in CRM. Take the following example.

Series name “Won” in this Chart is actually derived from the “Opportunity Status”

To modify the series name add the Name attribute to the Series node in the exported xml of the chart. For e.g.:

This will display the Series name as Won:

<Series Name="o:opportunity_statecode,1" Color="149, 189, 66" IsValueShownAsLabel="False" BackGradientStyle='TopBottom" BackSecondaryColor="112, 142, 50" Font="{0}, 9.5px" LabelForeColor="59, 59, 59">

This will display the Series name as Lost:

<Series Name="o:opportunity_statecode,2" Color="255,124,31" IsValueShownAsLabel="False" BackGradientStyle='TopBottom" BackSecondaryColor="235,98,0" Font="{0}, 9.5px" LabelForeColor="59, 59, 59">

You can instruct the chart to pick the series name from the display names of some option set values using the following format:

Name = “o:optionsetLogicalName,optionSetValue”

BAR & COLUMN CHARTS


CYLINDER
<Chart>

<Series>

<Series ChartType="Bar" IsValueShownAsLabel="True" Color="149, 189, 66" BackGradientStyle="TopBottom" BackSecondaryColor="112, 142, 50" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40,DrawingStyle=Cylinder">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

EMBOSS


<Chart>

<Series>

<Series ChartType="Bar" IsValueShownAsLabel="True" Color="149, 189, 66" BackGradientStyle="TopBottom" BackSecondaryColor="112, 142, 50" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40,DrawingStyle=Emboss">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

LIGHT TO DARK

<Chart>

<Series>

<Series ChartType="Bar" IsValueShownAsLabel="True" Color="149, 189, 66" BackGradientStyle="TopBottom" BackSecondaryColor="112, 142, 50" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40,DrawingStyle=LightToDark">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

WEDGE

<Chart>

<Series>

<Series ChartType="Bar" IsValueShownAsLabel="True" Color="149, 189, 66" BackGradientStyle="TopBottom" BackSecondaryColor="112, 142, 50" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40,DrawingStyle=Wedge">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

3D

ChartAreas

ChartArea BorderColor="White" BorderDashStyle="Solid">

AxisY LabelAutoFitMinFontSize="8" TitleForeColor="59, 59, 59" TitleFont="{0}, 10.5px" LineColor="165, 172, 181" IsReversed="False">

MajorGrid LineColor="128, 128, 128" />

LabelStyle Font="{0}, 10.5px" ForeColor="59, 59, 59" />

</AxisY

AxisX LabelAutoFitMinFontSize="8" TitleForeColor="59, 59, 59" TitleFont="{0}, 10.5px" LineColor="165, 172, 181" IsReversed="False">

MajorGrid Enabled="False" />

MajorTickMark Enabled="False" />

LabelStyle Font="{0}, 10.5px" ForeColor="59, 59, 59" />

</AxisX

<Area3DStyle Enable3D="True" LightStyle="Realistic" WallWidth="5" IsRightAngleAxes="true" />

</ChartArea

</ChartAreas
NO VALUES SHOWN ON BARS

<Chart>

<Series>

<Series ChartType="Bar"IsValueShownAsLabel="False"Color="149, 189, 66" BackGradientStyle="TopBottom" BackSecondaryColor="112, 142, 50" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

STARTING WITH STACKED

GO WITH 3D CYLINDER

<Series>

<Series ChartType="Column" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PointWidth=0.75, MaxPixelPointWidth=40,DrawingStyle=Cylinder"</Series>

</Series>

ChartAreas

-and-

</AxisX

<Area3DStyle Enable3D="True" LightStyle="Realistic" WallWidth="5" IsRightAngleAxes="true" />

</ChartArea

PIE CHART – 3D

ChartAreas

ChartArea

<Area3DStyle Enable3D="True" />

</ChartArea

</ChartAreas

PIE CHART – CONCAVE

<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PieLabelStyle=Inside,PieDrawingStyle=Concave" ChartType="pie">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

ChartAreas

ChartArea

Area3DStyle Enable3D="False" />

</ChartArea

</ChartAreas

PIE CHART – SOFT EDGE

<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PieLabelStyle=Inside,PieDrawingStyle=SoftEdge" ChartType="pie">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

ChartAreas

ChartArea

<Area3DStyle Enable3D="False" />

</ChartArea

</ChartAreas

DOUGHNUT CHART

<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PieLabelStyle=Inside, PieDrawingStyle=Default"ChartType="Doughnut">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

DOUGHNUT CHART – 3D

<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PieLabelStyle=Inside, PieDrawingStyle=Default"ChartType="Doughnut">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

ChartAreas

ChartArea

<Area3DStyle Enable3D="true" />

</ChartArea

</ChartAreas

</ChartAreas

DOUGHNUT CHART – CONCAVE

<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PieLabelStyle=Inside,PieDrawingStyle=Concave"ChartType="Doughnut">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

ChartAreas

ChartArea

<Area3DStyle Enable3D="False" />

</ChartArea

</ChartAreas

DOUGHNUT CHART – SOFT EDGE

<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PieLabelStyle=Inside,PieDrawingStyle=SoftEdge" ChartType="Doughnut">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

ChartAreas

ChartArea

<Area3DStyle Enable3D="False" />

</ChartArea

</ChartAreas

FUNNEL CHARTS SQUARE BASE


<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" ChartType="Funnel" CustomProperties="FunnelLabelStyle=Outside, FunnelNeckHeight=0, FunnelPointGap=1, FunnelNeckWidth=0",Funnel3DDrawingStyle=SquareBase">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

FUNNEL CHARTS WITH A NECK
<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" ChartType="Funnel" CustomProperties="FunnelLabelStyle=Outside,FunnelNeckHeight=3,FunnelPointGap=1, FunnelNeckWidth=5">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

FUNNEL CHARTS YIsWIDTH

<Series>

<Series ShadowOffset="0" IsValueShownAsLabel="true" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" ChartType="Funnel" CustomProperties="FunnelLabelStyle=Outside, FunnelNeckHeight=0, FunnelPointGap=1, FunnelNeckWidth=0,FunnelStyle=YIsWidth">

SmartLabelStyle Enabled="True" />

</Series>

</Series>

3D CHART

STACKED CHART / COMPARISON CHART

Along with above changes in XML we need to add/update the XML to get this reflected.

Update the chart type to Stacked Chart

This way we can convert a simple column chart into a comparison chart

MULTI SERIES CHART

We can get multiple series of data inside of chart just by adding simple entries in xml. Here we go

Once we add the attributes to fetch collection we need to mention how it has to be measured in collections. For that

Finally we need to mention how we want to present the extra series under presentationdescription node

LABEL CHANGES

CRM CHART ENHANCEMENTS

CRM SDK - View Data with Visualizations (Charts)

http://msdn.microsoft.com/en-us/library/gg309647.aspx

Chart Types (Chart Controls) - MSDN
http://msdn.microsoft.com/en-us/library/dd489233.aspx

Microsoft Chart Controls Add-on for Microsoft Visual Studio
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23903

Microsoft Chart Controls for .NET Framework Documentation
http://www.microsoft.com/downloads/details.aspx?FamilyID=EE8F6F35-B087-4324-9DBA-6DD5E844FD9F&amp;amp;displaylang=e&displaylang=en

http://msdn.microsoft.com/en-us/library/ee704599.aspx