This documentation is for the legacy Izenda 6 product. Documentation for the new Izenda 7 product can be found at https://www.izenda.com/docs/
Gets or sets the list of additional columns that are used to sort chart data. This will apply only when using charts that have an additional chart element, such as Pareto charts. The resulting chart will sort elements according to any sort already specified by the report designer plus the value of the separator column. The strings entered into the array should be the column name without the schema and table.
Note: The wildcard "*" denotes the list of existing sort items on the chart.
//main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig public class CustomAdHocConfig : Izenda.AdHoc.DatabaseAdHocConfig { // Configure settings // Add custom settings after setting the license key and connection string by overriding the ConfigureSettings() method public static void InitializeReporting() { //Check to see if we've already initialized. if (HttpContext.Current.Session == null || HttpContext.Current.Session["ReportingInitialized"] != null) return; AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE"; //Creates a connection to Microsoft SQL Server AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE"; Izenda.AdHoc.AdHocSettings.AdHocConfig = new CustomAdHocConfig(); AdHocSettings.ChartSortFields = new string[] {"*", "ShipCountry"}; //The relevant setting HttpContext.Current.Session["ReportingInitialized"] = true; } }
'main class: inherits DatabaseAdHocConfig or FileSystemAdHocConfig Public Class CustomAdHocConfig Inherits Izenda.AdHoc.DatabaseAdHocConfig Shared Sub InitializeReporting() 'Check to see if we've already initialized If HttpContext.Current.Session Is Nothing OrElse HttpContext.Current.Session("ReportingInitialized") IsNot Nothing Then Return 'Initialize System AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE" AdHocSettings.SqlServerConnectionString = "INSERT_CONNECTION_STRING_HERE" Izenda.AdHoc.AdHocSettings.AdHocConfig = New CustomAdHocConfig() AdHocSettings.ChartSortFields = New String() {"*", "ShipCountry"} 'The relevant setting HttpContext.Current.Session("ReportingInitialized") = True End Sub End Class
A sample report definition. Note the chart's "line value" field value.
AdHocSettings.ChartSortFields = {"*", "ShipCountry"}
SELECT DISTINCT TOP 10 [dbo].[Employees].[LastName] AS 'Label', SUM([dbo].[Orders].[Freight]) AS 'Value', [dbo].[Shippers].[CompanyName] AS 'Separator', COUNT([dbo].[Orders].[ShipCountry]) AS 'LineValue' FROM [dbo].[Orders] WITH(NOLOCK) INNER JOIN [dbo].[Shippers] WITH(NOLOCK) ON [dbo].[Shippers].[ShipperID]=[dbo].[Orders].[ShipVia] INNER JOIN [dbo].[Customers] WITH(NOLOCK) ON [dbo].[Customers].[CustomerID]=[dbo].[Orders].[CustomerID] INNER JOIN [dbo].[Employees] WITH(NOLOCK) ON [dbo].[Employees].[EmployeeID]=[dbo].[Orders].[EmployeeID] GROUP BY [dbo].[Employees].[LastName], [dbo].[Shippers].[CompanyName] ORDER BY SUM([dbo].[Orders].[Freight]) DESC, COUNT([dbo].[Orders].[ShipCountry]);
AdHocSettings.ChartSortFields = null
SELECT DISTINCT TOP 10 [dbo].[Employees].[LastName] AS 'Label', SUM([dbo].[Orders].[Freight]) AS 'Value', [dbo].[Shippers].[CompanyName] AS 'Separator', COUNT([dbo].[Orders].[ShipCountry]) AS 'LineValue' FROM [dbo].[Orders] WITH(NOLOCK) INNER JOIN [dbo].[Shippers] WITH(NOLOCK) ON [dbo].[Shippers].[ShipperID]=[dbo].[Orders].[ShipVia] INNER JOIN [dbo].[Customers] WITH(NOLOCK) ON [dbo].[Customers].[CustomerID]=[dbo].[Orders].[CustomerID] INNER JOIN [dbo].[Employees] WITH(NOLOCK) ON [dbo].[Employees].[EmployeeID]=[dbo].[Orders].[EmployeeID] GROUP BY [dbo].[Employees].[LastName], [dbo].[Shippers].[CompanyName] ORDER BY SUM([dbo].[Orders].[Freight]) DESC;
Last edited by Joseph Adams, 2014-10-30 11:21:55