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?