Charts - ArgumentDataColumn and Value

Stimulsoft Reports.NET discussion
Post Reply
Sandy Pham
Posts: 62
Joined: Mon Dec 11, 2006 1:43 pm
Location: U.S.A.

Charts - ArgumentDataColumn and Value

Post by Sandy Pham »

Can someone help me understand how to use these StiSeries properties: ArgumentDataColumn, ValueDataColumn, Value and AutoSeriesKeyDataColumn? After playing around, it looks like:

ArgumentDataColumn is the x-axis
ValueDataColumn or Value is used for the y-axis
AutoSeriesKeyDataColumn is used to make multiple lines on a chart.

Is this true?

Here are some examples of what I am trying to do:

1. Create a line chart with Incident.Status on the x-axis and the number of records on the y-axis.

Code I tried that doesn't work (chart comes up empty):

StiLineSeries seriesLine = new StiLineSeries();
seriesLine.ArgumentDataColumn = "Incident.Status";
seriesLine.Value = new StiExpression("Count(Incident.IncidentID)");

2. Add to chart #1, the ability to display a different line for each category.

Code I tried that doesn't work (chart comes up empty):

StiLineSeries seriesLine = new StiLineSeries();
seriesLine.ArgumentDataColumn = "Incident.Status";
seriesLine.Value = new StiExpression("Count(Incident.IncidentID)");
seriesLine.AutoSeriesKeyDataColumn = "Incident.Category";

Any help is greatly appreciated!
Edward
Posts: 2913
Joined: Fri Jun 09, 2006 4:02 am

Charts - ArgumentDataColumn and Value

Post by Edward »

Sandy wrote:Can someone help me understand how to use these StiSeries properties: ArgumentDataColumn, ValueDataColumn, Value and AutoSeriesKeyDataColumn? After playing around, it looks like:

ArgumentDataColumn is the x-axis
ValueDataColumn or Value is used for the y-axis
AutoSeriesKeyDataColumn is used to make multiple lines on a chart.

Is this true?
Yes, it is true. The following values are used in pairs as argument (XAxis) and value (YAxis) accordingly.
1.ArgumentDataColumn - ValueDataColumn
ArgumentDataColumn specifies a DataColumn for the XAxis.
ValueDataColumn specifies a DataColumn for the YAxis.

2. ListOfArguments - ListOfValues
In that case an argument and a value should have the same count predefined values for the XAxis and YAxis accordingly.

3. Argument - Value
This pair lets you to specify an Expression for the XAxis and YAxis. Expression will be called as many times as the number of the records in the Chart.DataSource data source. This DataSource controls the rendering of the Chart in that case. Also the Chart contains the DataRelation property which controls the rendering of the chart in the reports which has the Master-Detail structure.

An AutoSeriesKeyDataColumn property is used for generating multiple series from the DataSources. The following data for example produces 2 Series on the Chart:
CompanyName ValueY ValueX
Company1 13 2002
Company1 13 2002
Company1 16 2002
Company2 32 2004
Company2 41 2004
Company2 41 2004

In that case Chart.AutoSeriesKeyDataColumn should be set to CompanyName
ValueDataColumn = ValueY
ArgumentDataColumn = ValueX

An AutoSeriesTitleDataColumn property gets the names for the automatically created series. So if AutoSeriesTitleDataColumn=CompanyName, then
our 2 series will be named in the legend as Company1 and Company2.
Sandy wrote:Here are some examples of what I am trying to do:

1. Create a line chart with Incident.Status on the x-axis and the number of records on the y-axis.

Code I tried that doesn't work (chart comes up empty):

StiLineSeries seriesLine = new StiLineSeries();
seriesLine.ArgumentDataColumn = "Incident.Status";
seriesLine.Value = new StiExpression("Count(Incident.IncidentID)");

2. Add to chart #1, the ability to display a different line for each category.

Code I tried that doesn't work (chart comes up empty):

StiLineSeries seriesLine = new StiLineSeries();
seriesLine.ArgumentDataColumn = "Incident.Status";
seriesLine.Value = new StiExpression("Count(Incident.IncidentID)");
seriesLine.AutoSeriesKeyDataColumn = "Incident.Category";

Any help is greatly appreciated!
Please assign a Chart.DataSource to the "Incident" DataSource.

We will check the situation with Aggregate functions.

Thank you.
Sandy Pham
Posts: 62
Joined: Mon Dec 11, 2006 1:43 pm
Location: U.S.A.

Charts - ArgumentDataColumn and Value

Post by Sandy Pham »

I would appreciate it if you could check into the Aggregate functions. I've tried everything I can think of and I can't get them to work. Most of our charts are "Number of records" for a particular grouping so aggregate functions are crucial for us.

Thanks,

Sandy
Vital
Posts: 1278
Joined: Fri Jun 09, 2006 4:04 am

Charts - ArgumentDataColumn and Value

Post by Vital »

Instead using Count in Chart you need use Totals.Count. I recommend you get build from 7 March.

Please see topic at http://forum.stimulsoft.com/Default.aspx?g=posts&t=354

Thank you.
Brendan
Posts: 309
Joined: Sun Jul 16, 2006 12:42 pm
Location: Ireland

Charts - ArgumentDataColumn and Value

Post by Brendan »

Is there a way to display the following Data in a Chart?

To create an Example, if I have a simple datasource called Orders with 3 columns and the following Data

Code: Select all

OrderID		ProductName		Quantity
1				Milk				3
2				Bread				6
3				Sugar				2
4				Milk				4
5				Bread				3
I'd like to make the Sum of Quantity based on Product Name to be the Value Property
and ProductName to be the ArgumentValue property to describe the sum of each product


So in the end the chart will contain 3 Product Names along the X-Axis (Milk, Bread, Sugar) and the Y-Axis will Contain the Sum value of these Products (7, 9, 2)

I tried setting the Value Property to Totals.Sum(Orders, Orders.Quantity) and setting the ArgumentValue Property to ProductName but I don't get the desired output.
Do I need to provide a differently formatted DataSource to get this output?


I think what I'm trying to achieve is to somehow use this data like how I would use it in a CrossTab control. Using the example above, in a CrossTab Control I would set the Datasource to Orders, the ProductName to be the Rows Property and the Quantity to be the Columns Property
Edward
Posts: 2913
Joined: Fri Jun 09, 2006 4:02 am

Charts - ArgumentDataColumn and Value

Post by Edward »

You may process you data in StimulReport.Net via Data from other DataSource Datasource. This datasource can group, sort and count an aggregate functions for any Datasource from the reports dictionary in the StimulReport.Net.
After getting the desired representation of the Data you may use Data from other DataSource as a DataSource for the chart.

Thank you.
Brendan
Posts: 309
Joined: Sun Jul 16, 2006 12:42 pm
Location: Ireland

Charts - ArgumentDataColumn and Value

Post by Brendan »

Excellent!,
Thank you Edward, I did not know you could build Datasources from Other Datasources. That worked Perfect.
Thank you :)

Edward
Posts: 2913
Joined: Fri Jun 09, 2006 4:02 am

Charts - ArgumentDataColumn and Value

Post by Edward »

Let us know if you need any help.

Thank you.
Post Reply