Data Engine API

Static Source

Create

The code to create a StaticSource is given below:

StaticSource source = new StaticSource(dataTable);

Dispose

The code to dispose the StaticSource object is given below:

source.Dispose()

MSSQL Source

Apart from Static Source, the DataEngine of FusionCharts.NET also lets you use data from an MSSQL server. Here's how you should proceed to do that:

Configure data source

Before the FusionCharts DataEngine can fetch data from MSSQL, it needs to connect to the server. The DataEngine can do so in one of the following ways:

SQL Authentication

If the MSSQL server has SQL authentication, refer to the command given below:

/* create object */
/* SQL Authentication */

MsSqlClass msSql = new MsSqlClass("username", "password", "servername", "databasename", sourcetype, "sourcename")

Windows Authentication

If the MSSQL server has Windows authentication, refer to the command given below:

/* create object */
/* Windows Authentication */
MsSqlClass msSql = new MsSqlClass("servername","databasename", sourcetype, "sourcename")|

Connection String

If you want to use a different type of authentication apart from the two given above, you need to provide a connection string to the DataEngine. Refer to the command given below:

/* create object */
/* provide connection string from user end */
MsSqlClass msSql = new MsSqlClass("connectionstring", sourcetype, "sourcename")

CSV File

Local/another network file

The code to fetch data from a CSV file stored in the local computer is given below:

CsvFileSource csvFileSource = new CsvFileSource("filePath");

File from another network

The code to fetch data from a CSV file stored in another network is given below:

CsvFileSource csvFileSource = new CsvFileSource("filePath", "userName", "password");

Dispose

The code to dispose the csvFileSource object is given below:

csvFileSource.Dispose();

JSON File

Local/another network file

The code to fetch data from a JSON file stored in the local computer is given below:

JsonFileSource jsonFileSource = new JsonFileSource("filePath");

File from another network

The code to fetch data from a JSON file stored in another network is given below:

JsonFileSource jsonFileSource = new JsonFileSource("filePath", "userName", "password");

Dispose

The code to dispose the JsonFileSource object is given below:

jsonFileSource.Dispose();

DataModel

Create

The code to create a DataModel is given below:

DataModel model = new DataModel();

Dispose

The code to dispose the DataModel object is given below:

model.Dispose()

Add DataSource to DataModel object

The code to add a DataSource to the DataModel is given below:

model.DataSources.Add(source);

Retrieve Data from DataModel

The code to retrieve data from the DataModel is given below:

DataTable table = model.Data // Output of the data format is DataTable

DataModel Schema

ColumnSchema of the DataModel data is used to get the schema.

The code is given below:

List<Schema> modelSchema = model.ColumnSchema

Set Date/Time format

To set the date/time format of the data, set the DataSourceDateformat property of DataModel instance.

The code is given below:

model.DataSourceDateformat = "MM/dd/yyyy hh:mm tt";

Add Filter

To apply filter to the data of the chart, set the properties of following filter instances:

Null

To apply the null filter to the data of the chart, set the nullOperation instance of the DataModel as shown below:

DataModel nullOperation = model.Where("Country is null"); //Country is the Column name

Not Null

To apply the not null filter to the data of the chart, set the notNullOperation instance of the DataModel as shown below:

DataModel notNullOperation = model.Where("Country is not null");

Equal

To apply equal filter operation, set the equalOperation instance of the DataModel as shown below:

DataModel equalOperation = model.Where("Country = United States");

Not Equal

To apply not equal filter operation, set the notEqualOperation instance of the DataModel as shown below:

DataModel notEqualOperation = model.Where("Country != United States");

Greater

To apply greater filter operation, set the greaterOperation instance of the DataModel as shown below:

DataModel greaterOperation = model.Where("Sales > 100");

Greater or Equal

To apply greater or equal filter operation, set the greaterEqualOperation instance of the DataModel as shown below:

DataModel greaterEqualOperation = model.Where("Quantity >= 3");

Less

To apply less filter operation, set the lessOperation instance of the DataModel as shown below:

DataModel lessOperation = model.Where("Sales < 100");

Less or Equal

To apply less or equal filter operation, set the lessEqualOperation instance of the DataModel as shown below:

DataModel lessEqualOperation = model.Where("Quantity <= 3");

Between

To apply between filter operation, set the betweenOperation instance of the DataModel as shown below:

DataModel betweenOperation = model.Where("Order Date is between 1/22/2011 to 1/24/2011");

Begins with

To apply begins with filter operation, set the beginsWithOperation instance of the DataModel as shown below:

DataModel beginsWithOperation = model.Where("Country begins with A");

Contains

To apply contains filter operation, set the containsOperation instance of the DataModel as shown below:

DataModel containsOperation = model.Where("Country contains d");

Ends with

To apply ends with filter operation, set the endsWithOperation instance of the DataModel as shown below:

DataModel endsWithOperation = model.Where("Country ends with a");

Logical Operator

To apply logical operators to the data, set it's instance of the DataModel as shown below:

AND Operator

DataModel andOperator = model.Where("Order Date is between 1/22/2011 to 1/24/2011 and Country = United States");

OR Operator

DataModel orOperator = model.Where("Name starts with I or Name starts with A");

Pivot

To apply pivot operation to the data, set the pivotModel instance of the DataModel as shown below:

DataModel pivotModel = model.Pivot(row, column, aggregation);

Pagination

To code to set the page size is given below:

model.PageSize = 15;

The code to get records from specific pages is given below:

DataModel dataModel = model.GetItemsFromPages(2, 3);

Top

The code to apply topRecords operation is given below:

DataModel newModel = model.TopRecords(5);

Select

The code to apply select operation to the data is given below:

DataModel newModel = model.SelectColumns("Country","Sales");

Create/Dispose GroupColumn

Create

The code to create instance of GroupColumn class is shown below:

This instance will be used to group more than one column of a tabular data.

GroupColumn model = new GroupColumn {
    "Sales",
    "Quantity",
    "Shipping Cost"
};

Dispose

The code to dispose the grouped column is given below:

model.Dispose()

Create/Dispose SortColumn

Create

The code to create instance of SortColumn class is shown below:

This instance will be used to sort more than one column of a tabular data.

SortColumn model = new SortColumn {
    {"1994",SortColumn.Order.DESC },
      {"1995",SortColumn.Order.DESC },
      {"1996",SortColumn.Order.DESC }
};

Dispose

THe code to dispose the sorted column is given below:

model.Dispose()

Create/Dispose Aggregation class

Create

The code to create instance of Aggregation class is shown below:

This instance will be used to aggregate more than one column of a tabular data.

Aggregation model = new Aggregation {
    { "Quantity", Aggregation.Function.COUNT },
    { "Sales", Aggregation.Function.SUM }
};

Dispose

The code to dispose the aggregated is given below:

model.Dispose()

Create/Dispose Calculated Column

Create

To create a new calculated column, you need to create an instance of the CalculatedColumns class. Refer to the code given below:

CalculatedColumns calculatedColumns = new CalculatedColumns {
    {"SellingPrice - (Cost * Unit)","Profit" },
    {"ExpiryYear - ManufactureYear","Validity" }
};

Dispose

The code to dispose the calculatedColumns object is given below:

calculatedColumn.Dispose();