Reputation: 25
I am getting an error Please select an active sheet first. (line 4, file "Code")
when trying to publish my apps script dashboard app based on this tutorial. I've read through some other posts about setting an active sheet but it only produced more errors. I'm at a loss as to how to correct this. Can someone please tell me what I'm doing wrong?
function doGet() {
var ss = SpreadsheetApp.openById('<sheetid>');
var data = ss.getDataRange();
var ageFilter = Charts.newNumberRangeFilter().setFilterColumnIndex(1).build();
var nameFilter = Charts.newStringFilter().setFilterColumnIndex(0).build();
var genderFilter = Charts.newStringFilter().setFilterColumnIndex(2).build();
var tableChart = Charts.newTableChart()
.setDataViewDefinition(Charts.newDataViewDefinition().set([0,1,2]))
.build();
var pieChart = Charts.newPieChart()
.setDataViewDefinition(Charts.newDataViewDefinition().set([0,,2]))
.build();
var dashboard = Charts.newDashboardPanel().setDataTable(data)
.bind([ageFilter,nameFilter,genderFilter], [tableChart, pieChart])
.build();
var app = UiApp.createApplication();
var filterPanel = app.createVerticalPanel();
var chartPanel = app.createHorizontalPanel();
filterPanel.add(ageFilter).add(nameFilter).add(genderFilter).setSpacing(10);
chartPanel.add(tableChart).add(pieChart).setSpacing(10);
dashboard.add(app.createVerticalPanel().add(filterPanel).add(chartPanel));
app.add(dashboard);
return app;
}
Upvotes: 2
Views: 8694
Reputation: 571
var ss = SpreadsheetApp.openById('<sheetid>');
var sheet = ss.getSheetByName('sheetNameHere');///////Need to get the sheet, not just the whole work book.
var data = sheet.getDataRange();
Upvotes: 3