Nice work around... I'll give that a try. On Mar 30, 8:59 am, asgallant <[email protected]> wrote: > Calculated columns don't work that way. I'm not 100% certain of this, but > I think you want to use an intermediary numberRangeFilter to control the > pie chart. Something like this, perhaps: > > var intermediary = new google.visualization.ControlWrapper({ > controlType: 'NumberRangeFilter', > containerId: 'hidden_div', > options: { > filterColumnLabel: 'Age', > minValue: 20 > } > > }); > > // create the other controls + dashboard > > // bind slider to table and intermediary control > dashboard.bind([slider], [table, intermediary]); > // bind intermediary to pie > dashboard.bind([intermediary], [pie]); > // bind categoryPicker to pie and table > dashboard.bind([categoryPicker], [pie, table]); > > // hide the intermediary control once the chart is drawn > google.visualization.events.addListener(dashboard, 'ready', function () { > document.getElementById('hidden_div').style.display = 'none'; > > }); > > You might be able to bind the categoryPicker control directly to the > intermediary control, I'm not sure. > > > > > > > > On Thursday, March 29, 2012 4:23:36 PM UTC-4, mkanalyst_Dale wrote: > > > I'm putting together a dashboard and trying to do something that > > should be straight-forward. There will be Control Filters to operate > > at the dashboard level, but I also need to specify some additional > > filters (static, not through a control) to just a single chart. The > > method for getFilteredRows seems to be the answer but it is not > > working. > > > I've mocked up the example that Google has in the Code Playground to > > try to get this to work. In this case, I'm trying to have the Pie > > chart only show those that are 20 years or older. > > > (link to Google Code Playground: > > >http://code.google.com/apis/ajax/playground/?type=visualization#full_...) > > > Code I'm trying: > > --------------------------------------------------------------------------- > > --------------------------- > > > function drawVisualization() { > > // Prepare the data > > var data = google.visualization.arrayToDataTable([ > > ['Name', 'Gender', 'Age', 'Donuts eaten'], > > ['Michael' , 'Male', 12, 5], > > ['Elisa', 'Female', 20, 7], > > ['Robert', 'Male', 7, 3], > > ['John', 'Male', 54, 2], > > ['Jessica', 'Female', 22, 6], > > ['Aaron', 'Male', 3, 1], > > ['Margareth', 'Female', 42, 8], > > ['Miranda', 'Female', 33, 6] > > ]); > > > // Define a slider control for the Age column. > > var slider = new google.visualization.ControlWrapper({ > > 'controlType': 'NumberRangeFilter', > > 'containerId': 'control1', > > 'options': { > > 'filterColumnLabel': 'Age', > > 'ui': {'labelStacking': 'vertical'} > > } > > }); > > > // Define a category picker control for the Gender column > > var categoryPicker = new google.visualization.ControlWrapper({ > > 'controlType': 'CategoryFilter', > > 'containerId': 'control2', > > 'options': { > > 'filterColumnLabel': 'Gender', > > 'ui': { > > 'labelStacking': 'vertical', > > 'allowTyping': false, > > 'allowMultiple': false > > } > > } > > }); > > > // Define a Pie chart > > var pie = new google.visualization.ChartWrapper({ > > 'chartType': 'PieChart', > > 'containerId': 'chart1', > > 'options': { > > 'width': 300, > > 'height': 300, > > 'legend': 'none', > > 'title': 'Donuts eaten per person', > > 'chartArea': {'left': 15, 'top': 15, 'right': 0, 'bottom': 0}, > > 'pieSliceText': 'label' > > }, > > // Instruct the piechart to use colums 0 (Name) and 3 (Donuts > > Eaten) > > // from the 'data' DataTable. > > 'view': { > > 'columns': [0,3], > > 'rows': [ > > { > > 'calc': function(data) { > > return data.getFilteredRows({column: 2, minValue: 20}); > > }, > > 'type': 'number' > > }] > > } > > }); > > > // Define a table > > var table = new google.visualization.ChartWrapper({ > > 'chartType': 'Table', > > 'containerId': 'chart2', > > 'options': { > > 'width': '300px' > > } > > }); > > > // Create a dashboard > > new > > google.visualization.Dashboard(document.getElementById('dashboard')). > > // Establish bindings, declaring the both the slider and the > > category > > // picker will drive both charts. > > bind([slider, categoryPicker], [pie, table]). > > // Draw the entire dashboard. > > draw(data); > > } > > --------------------------------------------------------------------------- > > --------------------------- > > > The only thing I've changed from the original example is adding to the > > 'view' section of the Pie Chart. > > > any thoughts?
-- You received this message because you are subscribed to the Google Groups "Google Visualization API" group. 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.
