There are two ways to handle this:

1) create 3 separate queries, one for each chart.  This is generally 
inefficient but sometimes necessary.
2) if you can query all relevant columns in a single query, then use 
DataViews to separate out the columns needed for each pie, eg:

var view1 = new google.visualization.DataView(data);
//use columns 0 and 1 for the first pie chart
view1.setColumns([0, 1]);

pie1.draw(view1, {/*options*/});


On Monday, October 22, 2012 10:02:34 PM UTC-4, Qasim Rasouli wrote:
>
> I almost finished my project but there's small problem. I'm using three 
> pie chart and I need each to query specific column from my sheet but they 
> all just query from my first and second column in that sheet. here's my 
> code:
> <script type="text/javascript">
>
>   // Load the Visualization API and the controls package.
>   // Packages for all the other charts you need will be loaded
>   // automatically by the system.
>   google.load('visualization', '1.0', {packages:['corechart']});
>
>   // Set a callback to run when the Google Visualization API is loaded.
>   google.setOnLoadCallback(initialize);
>
> function initialize() {
>   // Replace the data source URL on next line with your data source URL.
>   var query = new google.visualization.Query('
> https://docs.google.com/spreadsheet/tq?range=A%3AX&key=0AvGcVM8k_RwUdExOclVzaEVDSlVvSTlEU2UxdTJOdFE&gid=12&headers=-1'
> );
>   
>   
>   // Send the query with a callback function.
>   query.send(drawDashboard);
> }
>
>
> function drawDashboard(response) {
>   var data = response.getDataTable();
>   
>   // Everything is loaded. Assemble your dashboard...
>   var pie1 = new 
> google.visualization.PieChart(document.getElementById('pie1'));
>     pie1.draw(data, {
> backgroundColor: 'whiteSmoke',
> width: 280,
>         height: 200,
>         legend: 'none',
> colors:['#29abe2','#81d5f2','#d3e9f2'],
> chartArea:{left:20,top:10,width:"90%",height:"90%"},
> view: {
>             columns: [4, 5]
>         }
>     });
>  var pie2 = new 
> google.visualization.PieChart(document.getElementById('pie2'));
>     pie2.draw(data, {
> backgroundColor: 'whiteSmoke',
> width: 280,
>         height: 200,
>         legend: 'bottom',
> colors:['#f9e208','#f2e77c','#f7f6eb'],
> chartArea:{left:20,top:10,width:"90%",height:"90%"},
> view: {
>             columns: [8, 9]
>         }
>     });
>  var pie3 = new 
> google.visualization.PieChart(document.getElementById('pie3'));
>     pie3.draw(data, {
> backgroundColor: 'whiteSmoke',
> width: 280,
>         height: 200,
>         legend: 'none',
> colors:['#8cc63f','#caef8f','#eff9e1'],
> chartArea:{left:20,top:10,width:"90%",height:"90%"},
> view: {
>             columns: [12, 13]
>         }
>     });
>  var element = document.getElementById('foo');
> element.innerHTML = data.getValue(0, 1);
>  var element = document.getElementById('foo1');
> element.innerHTML = data.getValue(1, 1);
>  var element = document.getElementById('foo2');
> element.innerHTML = data.getValue(2, 1);
>  var element = document.getElementById('foo3');
> element.innerHTML = data.getValue(0, 3);
>  var element = document.getElementById('foo4');
> element.innerHTML = data.getValue(1, 3);
>  var element = document.getElementById('foo5');
> element.innerHTML = data.getValue(2, 3);
>     
> }
> </script>
>
>
>
> On Saturday, October 20, 2012 6:58:56 PM UTC+4:30, asgallant wrote:
>>
>> You're welcome.
>>
>> On Saturday, October 20, 2012 5:12:29 AM UTC-4, Qasim Rasouli wrote:
>>>
>>> Wow. I just read whole codes more than 50 times and can't understand 
>>> that. Thanks millions times. You are really helpful. 
>>>
>>> On Saturday, October 20, 2012 3:10:26 AM UTC+4:30, asgallant wrote:
>>>>
>>>> It's just a typo; you pass "table1" to the bind call, but your table is 
>>>> in the variable "table", so this:
>>>>
>>>> bind([namePicker], [myChart, table1, mysecondChart]).
>>>>
>>>> should be this:
>>>>
>>>> bind([namePicker], [myChart, table, mysecondChart]).
>>>>
>>>> On Friday, October 19, 2012 5:07:21 PM UTC-4, Qasim Rasouli wrote:
>>>>>
>>>>> here's the code:
>>>>>
>>>>> <html><head>
>>>>> <title>Renewable Energy Projects</title>
>>>>>
>>>>> <!--Load the AJAX API-->
>>>>> <script type="text/javascript" src="https://www.google.com/jsapi
>>>>> "></script>
>>>>> <script type="text/javascript">
>>>>>
>>>>>   // Load the Visualization API and the controls package.
>>>>>   // Packages for all the other charts you need will be loaded
>>>>>   // automatically by the system.
>>>>>   google.load('visualization', '1.1', 
>>>>> {packages:['controls','corechart', 'table']});
>>>>>
>>>>>   // Set a callback to run when the Google Visualization API is loaded.
>>>>>   google.setOnLoadCallback(initialize);
>>>>>
>>>>> function initialize() {
>>>>>   // Replace the data source URL on next line with your data source 
>>>>> URL.
>>>>>   var query = new google.visualization.Query('
>>>>> http://spreadsheets.google.com/pub?key=0AvGcVM8k_RwUdExOclVzaEVDSlVvSTlEU2UxdTJOdFE&gid=11'
>>>>> );
>>>>>   
>>>>>   
>>>>>   // Send the query with a callback function.
>>>>>   query.send(drawDashboard);
>>>>> }
>>>>>
>>>>>
>>>>> function drawDashboard(response) {
>>>>>   var data = response.getDataTable();
>>>>>   
>>>>>   // Everything is loaded. Assemble your dashboard...
>>>>>   var namePicker = new google.visualization.ControlWrapper({
>>>>>     'controlType': 'CategoryFilter',
>>>>>     'containerId': 'filter_div',
>>>>>     'options': {
>>>>>       'filterColumnLabel': 'Province',
>>>>>       'ui': {
>>>>>         'labelStacking': 'horizontal',
>>>>>         'allowTyping': false,
>>>>>         'allowMultiple': false    
>>>>>       }
>>>>>     },
>>>>> 'state': {'selectedValues': ['Kabul']}
>>>>>   });
>>>>>   
>>>>>   var table = new google.visualization.ChartWrapper({
>>>>>     'chartType': 'Table',
>>>>>     'containerId': 'table1',
>>>>>     'options': {
>>>>>      'width': '500px',
>>>>>          }, 
>>>>>  'view': {'columns': [0, 5] ,'rows': [0] }
>>>>>   });
>>>>>   
>>>>>   var myChart = new google.visualization.ChartWrapper({
>>>>>         chartType: 'ColumnChart',
>>>>>         containerId: 'chart_div',
>>>>>         options: {
>>>>> colors:['#29abe2','#fcee21', '#8cc63f'],
>>>>>             legend: {position: 'bottom', textStyle: {color: '#666', 
>>>>> fontSize: 10}},
>>>>>           chartArea:{left:60,top:40,width:"70%",height:"50%"},
>>>>>         },
>>>>>         view: {columns: [0, 5, 7, 9]},
>>>>>   });
>>>>>
>>>>>   var mysecondChart = new google.visualization.ChartWrapper({
>>>>>         chartType: 'ColumnChart',
>>>>>         containerId: 'chartsecond_div',
>>>>>         options: {
>>>>> colors:['#29abe2','#fcee21', '#8cc63f'],
>>>>>             legend: {position: 'bottom', textStyle: {color: '#666', 
>>>>> fontSize: 10}},
>>>>>           chartArea:{left:60,top:40,width:"70%",height:"50%"},
>>>>>         },
>>>>>         view: {columns: [0, 11, 13, 15]},
>>>>>   });
>>>>>   
>>>>>   new 
>>>>> google.visualization.Dashboard(document.getElementById('dashboard')).
>>>>>     bind([namePicker], [myChart, table1, mysecondChart]).
>>>>>     draw(data)
>>>>>     
>>>>> }
>>>>> </script>
>>>>>
>>>>> <style type="text/css">
>>>>> .warpper {
>>>>> width: 600px;
>>>>> font-family: Arial, Helvetica, sans-serif;
>>>>> font-size: 12px;
>>>>> margin:0px auto;
>>>>> padding: 10px;
>>>>> background-color: #FFF;
>>>>> }
>>>>> .header {
>>>>> height: 150px;
>>>>> }
>>>>> #firstrow {
>>>>> width: 600px;
>>>>> display: table;
>>>>> background-color: #FAFAFA;
>>>>> padding: 5px;
>>>>> }
>>>>> #secondrow {
>>>>> width: 600px;
>>>>> display: table;
>>>>> background-color: #FAFAFA;
>>>>> padding: 5px;
>>>>> margin-top: 10px;
>>>>> }
>>>>> #filter_div {
>>>>> height: 20px;
>>>>> border-bottom: 1px #EEE solid;
>>>>> border-top: 1px #EEE solid;
>>>>> margin-bottom: 10px;
>>>>> padding: 10px 5px 5px 5px;
>>>>> }
>>>>> #chart_div {
>>>>> background-color: #FAFAFA;
>>>>> width: 290px;
>>>>> border: 1px #ccc solid;
>>>>> float: left;
>>>>> position: relative;
>>>>> }
>>>>> #table1 {
>>>>> background-color: #eeeeee;
>>>>> width: 290px;
>>>>> border: 1px #ccc solid;
>>>>> float: right;
>>>>> margin-left: 10px;
>>>>> }
>>>>> #chartsecond_div {
>>>>> width: 290px;
>>>>> border: 1px #ccc solid;
>>>>> float: left;
>>>>> position: relative;
>>>>> }
>>>>> #table2 {
>>>>> background-color: #eeeeee;
>>>>> width: 290px;
>>>>> border: 1px #ccc solid;
>>>>> float: right;
>>>>> margin-left: 10px;
>>>>> }
>>>>> h1 {
>>>>> font-size: 26px;
>>>>> font-weight: bold;
>>>>> color: #999;
>>>>> margin-bottom: 20px;
>>>>> text-shadow: 2px 2px 2px #ccc;
>>>>> }
>>>>>
>>>>> h2 {
>>>>> font-size: 20px;
>>>>> }
>>>>>
>>>>> h3 {
>>>>> font-size: 18px;
>>>>> }
>>>>>
>>>>> h4 {
>>>>> font-size: 14px;
>>>>> font-weight: bold;
>>>>> }
>>>>>
>>>>> h5 {
>>>>> font-size: 14px;
>>>>> font-weight: normal;
>>>>> }
>>>>>
>>>>> h6 {
>>>>> font-size: 12px;
>>>>> }
>>>>> </style>
>>>>> </head>
>>>>> <div class="warpper">
>>>>> <body>
>>>>> <div class="header">
>>>>> <div class="qasim">
>>>>>         <h1>Afghanistan Renewable Energy Projects<h1>
>>>>> </div>
>>>>> </div>
>>>>> <!--Div that will hold the dashboard-->
>>>>>     <div id="dashboard"></div>
>>>>>       <!--Divs that will hold each control and chart-->
>>>>>       <div id="filter_div"></div>
>>>>>       <div id="firstrow">
>>>>>       <h4>Project Completed (Potential [kW])</h4>
>>>>>       <div id="chart_div"></div>
>>>>>       <div id="table1"></div>
>>>>>       </div>
>>>>>       <div id="secondrow">
>>>>>       <h4>Projects Under Construction (Potential [kW])</h4>
>>>>>       <div id="chartsecond_div"></div>
>>>>>       <div id="table2"></div>
>>>>>   </div>
>>>>>       </body>
>>>>> <body>
>>>>> </html>
>>>>>
>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-visualization-api/-/08RbjtvgiQMJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.

Reply via email to