User Guide Cancel

cfchartdata

 

Description

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

Category

Data output tagsExtensibility tags

Syntax

<cfchartdata
item = "text"
value = "number">
<cfchartdata item = "text" value = "number">
<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

cfchartcfchartseriesCreating 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>
<!--- 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>
<!--- 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>

Get help faster and easier

New user?