<%@ Language=VBScript %> FusionCharts - Database + JavaScript Example <% 'We've included ../Includes/FusionCharts.asp, which contains functions 'to help us easily embed the charts. %> <% 'In this example, we show a combination of database + JavaScript (dataURL method) 'rendering using FusionCharts. 'The entire app (page) can be summarized as under. This app shows the break-down 'of factory wise output generated. In a pie chart, we first show the sum of quantity 'generated by each factory. These pie slices, when clicked would show detailed date-wise 'output of that factory. The detailed data would be dynamically pulled by the column 'chart from another ASP page. There are no page refreshes required. Everything 'is done on one single page. 'The XML data for the pie chart is fully created in ASP at run-time. ASP interacts 'with the database and creates the XML for this. 'Now, for the column chart (date-wise output report), each time we need the data 'we dynamically submit request to the server with the appropriate factoryId. The server 'responds with an XML document, which we accept and update chart at client side. %>

Inter-connected charts - Click on any pie slice to see detailed chart below

<% 'Initialize the Pie chart with sum of production for each of the factories Dim oRs, oRs2, strQuery 'strXML will be used to store the entire XML document generated Dim strXML 'Generate the chart element strXML = "" 'Create the recordset to retrieve data Set oRs = Server.CreateObject("ADODB.Recordset") 'Iterate through each factory strQuery = "select * from Factory_Master" Set oRs = oConn.Execute(strQuery) While Not oRs.Eof 'Now create second recordset to get details for this factory Set oRs2 = Server.CreateObject("ADODB.Recordset") strQuery = "select FactoryId, sum(Quantity) as TotOutput from Factory_Output where FactoryId=" & ors("FactoryId") & " Group By FactoryId" Set oRs2 = oConn.Execute(strQuery) 'Generate 'Note that we're setting link as updateChart(factoryIndex) - JS Function strXML = strXML & "" 'Close recordset Set oRs2 = Nothing oRs.MoveNext Wend 'Finally, close element strXML = strXML & "" Set oRs = nothing 'Create the chart - Pie 3D Chart with data from strXML Call renderChart("../../FusionCharts/Pie3D.swf", "", strXML, "FactorySum", 500, 250, false, false) %>
<% 'Column 2D Chart with changed "No data to display" message 'We initialize the chart with Call renderChart("../../FusionCharts/Column2D.swf?ChartNoDataText=Please select a factory from pie chart above to view detailed data.", "", "", "FactoryDetailed", 600, 250, false, false) %>

 

The charts in this page have been dynamically generated using data contained in a database.