cfchartdata

Description

Used with the cfchart and cfchartseries tags. This tag defines chart data points. Its data is submitted to the cfchartseries tag.

Syntax

<cfchartdata  
    item = "text"  
    value = "number">
Note: You can specify this tag’s attributes in an attributeCollection attribute whose value is a structure. Specify the structure name in the attributeCollection attribute and use the tag’s attribute names as structure keys.

See also

cfchart, cfchartseries; Creating Charts and Graphs in the Developing ColdFusion Applications

ColdFusion MX: Added this tag.

Attributes

Attribute

Req/Opt

Default

Description

item

Required

Data point name; string.

value

Required

Data point value; number or expression.

Example

<!--- The following example analyzes the salary data in the cfdocexamples 
database and generates a bar chart showing average salary by department. The 
body of the cfchartseries tag loops over a cfchartdata tag to include data 
available from the query. ---> 
 
<!--- Get the raw data from the database. ---> 
<cfquery name="GetSalaries" datasource="cfdocexamples"> 
    SELECT Departmt.Dept_Name,  
        Employee.Dept_ID,  
        Employee.Salary 
    FROM Departmt, Employee 
    WHERE Departmt.Dept_ID = Employee.Dept_ID 
</cfquery> 
 
<!--- Use a query of queries to generate a new query with ---> 
<!--- statistical data for each department. ---> 
<!--- AVG and SUM calculate statistics. ---> 
<!--- GROUP BY generates results for each department. ---> 
<cfquery dbtype = "query" name = "DataTable"> 
    SELECT Dept_Name, 
    AVG(Salary) AS avgSal, 
    SUM(Salary) AS sumSal 
    FROM GetSalaries 
    GROUP BY Dept_Name 
</cfquery> 
 
<!--- Reformat the generated numbers to show only thousands. ---> 
<cfloop index = "i" from = "1" to = "#DataTable.RecordCount#"> 
<cfset DataTable.sumSal[i] = Round(DataTable.sumSal[i]/1000)*1000> 
<cfset DataTable.avgSal[i] = Round(DataTable.avgSal[i]/1000)*1000> 
</cfloop> 
 
<h1>Employee Salary Analysis</h1>  
<!--- Bar graph, from Query of Queries. ---> 
<cfchart format="flash"  
xaxistitle="Department"  
yaxistitle="Salary Average">  
 
<cfchartseries type="bar"  
itemcolumn="Dept_Name"  
valuecolumn="avgSal"> 
 
<cfloop query="DataTable"> 
<cfchartdata item="#DataTable.Dept_Name#" value="#DataTable.avgSal#"> 
</cfloop> 
 
</cfchartseries> 
</cfchart>