Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

displaying percentages in pie charts

Posted on 2008-06-23
12
Medium Priority
?
866 Views
Last Modified: 2013-12-24
Hi Experts,

I'm trying to create a chart which counts two seperate entries on the same database table, and then outputs the values as a pie chart. I'm a total noob when it comes to coldfusion, although I did manage to get the following to some something similar to what i'd want (see code below).

A few things though:
1) the cfsets within the cfoutput seems like a messy hack to me, is there a better way to approach getting those values from the database?
2) I would like to get the value from count, as well as the percentage comparing the two values. is this possible?

Thanks,

Mike

<cfquery name="MCount" datasource="reporting_db" >
    SELECT Count(*) as Mer from printer_orderwhere Printer_Number_FK = 2;
    </cfquery>
    <cfoutput query="MCount"> <cfset Mercount = Mer></cfoutput>
    
    <cfquery name="DGCount" datasource="reporting_db" >
    SELECT Count(*) as DG from printer_order where Printer_Number_FK = 1;
    </cfquery>
    <cfoutput query="DGCount"> <cfset DCount = DG></cfoutput>
 
    <cfchart show3d="Yes">
      <cfchartseries type="pie">
        <cfchartdata item="Orders To M" value=#MerCount#>
        <cfchartdata item="Orders To DG" value=#DCount#>
        </cfchartseries>
        </cfchart>

Open in new window

0
Comment
Question by:myabko
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 4
12 Comments
 
LVL 63

Expert Comment

by:Zvonko
ID: 21862419
Check this:
<cfquery name="MCount" datasource="reporting_db" >
    SELECT Count(*) as MerCount from printer_orderwhere Printer_Number_FK = 2;
</cfquery>
<cfquery name="DGCount" datasource="reporting_db" >
    SELECT Count(*) as DCount from printer_order where Printer_Number_FK = 1;
</cfquery>
<cfchart show3d="Yes">
  <cfchartseries type="pie">
    <cfchartdata item="Orders To M" value=#MerCount#>
    <cfchartdata item="Orders To DG" value=#DCount#>
  </cfchartseries>
</cfchart>

Open in new window

0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21862434
Only for demo how to reference cfquery items without cfoutput:

<cfquery name="MCount" datasource="reporting_db" >
    SELECT Count(*) as Mer from printer_orderwhere Printer_Number_FK = 2;
</cfquery>
<cfset Mercount = MCount.Mer >

0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21862469
One more note.
Because the result set is a set of records you can access your single row also by index:
<cfquery name="MCount" datasource="reporting_db" >
    SELECT Count(*) as Mer from printer_orderwhere Printer_Number_FK = 2;
</cfquery>
<cfset Mercount = MCount.Mer[1] >
0
Looking for a new Web Host?

Lunarpages' assortment of hosting products and solutions ensure a perfect fit for anyone looking to get their vision or products to market. Our award winning customer support and 30-day money back guarantee show the pride we take in being the industry's premier MSP.

 
LVL 63

Accepted Solution

by:
Zvonko earned 1500 total points
ID: 21862618
And the labels are displayed like this:

<cfquery name="MCount" datasource="reporting_db" >
    SELECT Count(*) as MerCount from printer_orderwhere Printer_Number_FK = 2;
</cfquery>
<cfquery name="DGCount" datasource="reporting_db" >
    SELECT Count(*) as DCount from printer_order where Printer_Number_FK = 1;
</cfquery>
 
    <cfchart show3d="Yes" chartWidth="500" >
      <cfchartseries type="pie" dataLabelStyle="pattern" >
        <cfchartdata item="Orders To M: " value=#MerCount#>
        <cfchartdata item="Orders To DG: " value=#DCount#>
      </cfchartseries>
    </cfchart>

Open in new window

0
 

Author Comment

by:myabko
ID: 21864997
One more thing, is it possible to not include one of the values from the graph into the list of values for the pattern style label?

For example I have a bar chart which has three values within the series:
1) total
2) MerTotal
3) DGTotal

i would like to have total display 100% while the other two display as a percentage of total, or at least not have total used within the calculation for the other two values, as it's throwing off their percentages. Is this possible?
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21868286
Can you please state why you graded my solution with the grade B?
0
 

Author Comment

by:myabko
ID: 21869438
because it was slightly confusing in its four post format.
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21870353
And you expect now support from me? I am now also "slightly confused" by your grading ;-)
0
 

Author Comment

by:myabko
ID: 21871730
I don't expect anything from  you. Experts exchange is supposed to be a community, you know technical people helping other technical people.

If you're in it just for points and grades so be it.
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21871839
OK, you are on my B list. Cheerio.
0
 

Author Comment

by:myabko
ID: 21872055
I suppose you put everyone who gives you a B rating on this B list of yours?

I'd hate to see how you'd react to a solution judged less than satisfactory
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 21872658
A simple Thank You for my valuable time would have been enough. Now you can keep it.
0

Featured Post

Simplify Your Workload with One Tool

How do you combat today’s intelligent hacker while managing multiple domains and platforms? By simplifying your workload with one tool. With Lunarpages hosting through Plesk Onyx, you can:

Automate SSL generation and installation with two clicks
Experience total server control

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today, I was working on some optimization and spam-stopping techniques when I encountered Ben Nadel's post to reduce spam feature using Math (http://www.bennadel.com/blog/197-How-I-Stop-Spammers-On-My-ColdFusion-Blog.htm). While this method is not o…
One of the typical problems I have experienced is when you have to move a web server from one hosting site to another. You normally prepare all on the new host, transfer the site, change DNS and cross your fingers hoping all will be ok on new server…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Screencast - Getting to Know the Pipeline

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question