function doGet() { var data = Charts.newDataTable() .addColumn(Charts.ColumnType.STRING, "Database") .addColumn(Charts.ColumnType.NUMBER, "Downloads") .addColumn(Charts.ColumnType.NUMBER, "Cost Per Download") .addColumn(Charts.ColumnType.NUMBER, "Cost") .addColumn(Charts.ColumnType.NUMBER, "% of Total Budget") .addColumn(Charts.ColumnType.NUMBER, "% of Total Usage") .addColumn(Charts.ColumnType.NUMBER, "Trend") .addColumn(Charts.ColumnType.NUMBER, "% Price Increase") .addColumn(Charts.ColumnType.STRING, "Subject Area") .addColumn(Charts.ColumnType.STRING, "Format") .addRow(['Business Database 1', 25950, 0.63 , 16385 , 7.0, 9.0, 4922, 2.3, 'Business', 'Article Database']) .addRow(['General Academic Database 1', 21251, 0.00 , 0 , 0.0, 7.3, -5053, 0.0, 'General', 'Article Database']) .addRow(['Humanities Database 1', 317, 2.41 , 765 , 0.3, 0.1, -273, 5.9, 'Humanities', 'eBooks']) .addRow(['Science Database 1', 513, 0.00 , 0 , 0.0, 0.2, -3139, 0.0, 'Science', 'Article Database']) .addRow(['Humanities Database 2', 1248, 0.96 , 1201 , 0.5, 0.4, 977, 22.2, 'Humanities', 'Streaming Video']) .addRow(['Humanities Database 3', 569, 5.53 , 3145 , 1.3, 0.2, 0, 0.0, 'Humanities', 'Article Database']) .addRow(['Humanities Database 4', 844, 7.86 , 6630 , 2.8, 0.3, -567, 5.0, 'Humanities', 'Article Database']) .addRow(['Science Database 2', 271, 0.00 , 0 , 0.0, 0.1, 236, 0.0, 'Science', 'Article Database']) .addRow(['Business Database 2', 4504, 0.00 , 0 , 0.0, 1.6, -970, 0.0, 'Business', 'Article Database']) .addRow(['Science Database 3', 4055, 0.65 , 2623 , 1.1, 1.4, 1420, -31.5, 'Science', 'Article Database']) .addRow(['Sciences Database 4', 156, 18.08 , 2820 , 1.2, 0.1, 119, 5.0, 'Science', 'Article Database']) .addRow(['Social Sciences Database 1', 1701, 2.93 , 4983 , 2.1, 0.6, -2477, 5.0, 'Social Science', 'Article Database']) .addRow(['Science Database 5', 211, 0.00 , 0 , 0.0, 0.1, -98, 0.0, 'Science', 'Article Database']) .addRow(['General Academic Database 2', 1201, 0.87 , 1040 , 0.4, 0.4, -186, 2.7, 'General', 'Article Database']) .addRow(['General Academic Database 3', 5690, 0.51 , 2926 , 1.2, 2.0, 3145, 5.0, 'General', 'eBooks']) .addRow(['Social Science Database 2', 3436, 1.49 , 5105 , 2.2, 1.2, 39, 5.0, 'Social Science', 'Article Database']) .addRow(['General Academic Database 4', 4454, 1.42 , 6310 , 2.7, 1.5, 2517, 5.2, 'General', 'Article Database']) .addRow(['General Academic Database 5', 52616, 0.11 , 5896 , 2.5, 18.2, 9626, 0.3, 'General', 'eBooks']) .addRow(['General Academic Database 6', 10220, 0.00 , 0 , 0.0, 3.5, -2485, 0.0, 'General', 'Article Database']) .addRow(['Social Science Database 3', 1067, 0.00 , 0 , 0.0, 0.4, 17, 0.0, 'Social Science', 'Article Database']) .addRow(['Science Database 6', 384, 9.16 , 3518 , 1.5, 0.1, 0, 0.0, 'Science', 'Article Database']) .addRow(['Social Science Database 4', 748, 3.26 , 2440 , 1.0, 0.3, 340, 5.2, 'Social Science', 'Article Database']) .addRow(['General Academic Database 7', 913, 0.00 , 0 , 0.0, 0.3, -238, 0.0, 'General', 'Article Database']) .addRow(['General Academic Database 8', 3123, 2.89 , 9030 , 3.8, 1.1, 1271, 5.0, 'General', 'Streaming Video']) .addRow(['Science Database 6', 208, 0.00 , 0 , 0.0, 0.1, 4, 0.0, 'Science', 'Article Database']) .addRow(['Science Database 7', 0, 0.00 , 0 , 0.0, 0.0, -728, 0.0, 'Science', 'Article Database']) .addRow(['Science Database 8', 318, 0.00 , 0 , 0.0, 0.1, -6241, 0.0, 'Science', 'Article Database']) .addRow(['Science Database 9', 337, 0.00 , 0 , 0.0, 0.1, -4757, 0.0, 'Science', 'Article Database']) .addRow(['Business Database 3', 0, 0.00 , 1700 , 0.7, 0.0, 0, 0.0, 'Business', 'Article Database']) .addRow(['Business Database 4', 7687, 1.74 , 13400 , 5.7, 2.7, -3056, 6.4, 'Business', 'Article Database']) .addRow(['Social Science Database 5', 3, 0.00 , 0 , 0.0, 0.0, 0, 0.0, 'Social Science', 'Article Database']) .addRow(['General Academic Database 9', 15348, 1.02 , 15673 , 6.7, 5.3, 831, -11.1, 'General', 'Article Database']) .addRow(['Business Database 5', 3333, 1.47 , 4913 , 2.1, 1.2, 1754, 5.5, 'Business', 'Article Database']) .addRow(['Business Database 6', 1970, 2.54 , 5000 , 2.1, 0.7, 0, 0.0, 'Business', 'Article Database']) .addRow(['Social Science Database 6', 36, 0.00 , 0 , 0.0, 0.0, -5, 0.0, 'Social Science', 'Article Database']) .addRow(['General Academic Database 10', 783, 0.00 , 0 , 0.0, 0.3, -54, 0.0, 'General', 'Article Database']) .addRow(['Social Science Database 7', 23, 0.00 , 0 , 0.0, 0.0, -14, 0.0, 'Social Science', 'Article Database']) .addRow(['General Academic Database 11', 0, 0.00 , 0 , 0.0, 0.0, -38, 0.0, 'Humanities', 'Article Database']) .addRow(['Humanities Database 5', 2249, 0.78 , 1750 , 0.7, 0.8, 803, 2.9, 'Humanities', 'Streaming Audio']) .addRow(['Humanities Database 6', 2458, 0.93 , 2285 , 1.0, 0.8, 1884, 0.0, 'Humanities', 'Article Database']) .addRow(['Social Science Database 8', 310, 6.35 , 1968 , 0.8, 0.1, -9712, 0.0, 'Social Science', 'Article Database']) .addRow(['Humanities Database 7', 386, 6.31 , 2435 , 1.0, 0.1, -583, 4.4, 'Humanities', 'Article Database']) .addRow(['Science Database 10', 2618, 7.70 , 20154 , 8.6, 0.9, 0, 0.0, 'Science', 'Article Database']) .addRow(['Social Science Database 9', 327, 0.00 , 0 , 0.0, 0.1, -397, 0.0, 'Social Science', 'Article Database']) .addRow(['Social Science Database 10', 28, 0.00 , 0 , 0.0, 0.0, 15, 0.0, 'Social Science', 'Article Database']) .addRow(['Business Database 7', 217, 12.17 , 2641 , 1.1, 0.1, 0, 0.0, 'Business', 'Article Database']) .addRow(['Social Science Database 11', 319, 0.00 , 0 , 0.0, 0.1, -79, 0.0, 'Social Science', 'Article Database']) .addRow(['Social Science Database 12', 1000, 0.00 , 0 , 0.0, 0.3, -16936, 0.0, 'Social Science', 'Article Database']) .addRow(['Social Science Database 13', 30841, 0.41 , 12500 , 5.3, 10.7, 9295, 0.0, 'Social Science', 'Article Database']) .addRow(['General Academic Database 12', 6521, 0.00 , 0 , 0.0, 2.3, 4362, 0.0, 'General', 'Article Database']) .addRow(['Social Science Database 14', 13000, 0.13 , 1686 , 0.7, 4.5, 4832, 0.4, 'Social Science', 'Article Database']) .addRow(['Humanities Database 8', 684, 4.24 , 2900 , 1.2, 0.2, 70, 5.1, 'Humanities', 'Article Database']) .addRow(['Social Science Database 15', 4693, 1.19 , 5600 , 2.4, 1.6, 641, 41.7, 'Social Science', 'Article Database']) .addRow(['Social Science Database 16', 0, 0.00 , 4816 , 2.0, 0.0, 0, 43.9, 'Social Science', 'Article Database']) .addRow(['Business Database 8', 16222, 0.00 , 0 , 0.0, 5.6, -5, 0.0, 'Business', 'Article Database']) .addRow(['General Academic Database 13', 9890, 2.16 , 21383 , 9.1, 3.4, -1247, 8.7, 'General', 'Article Database']) .addRow(['Business Database 9', 284, 3.79 , 1075 , 0.5, 0.1, 0, 0.0, 'Business', 'Article Database']) .addRow(['General Academic Database 14', 15252, 1.86 , 28363 , 12.0, 5.3, 752, 6.0, 'General', 'Article Database']) .addRow(['Science Database 11', 239, 0.00 , 0 , 0.0, 0.1, -16, 0.0, 'Science', 'Article Database']) .addRow(['Science Database 12', 6295, 1.67 , 10500 , 4.5, 2.2, -2644, 5.0, 'Science', 'Article Database']) .addRow(['Social Science Database 17', 239, 0.00 , 0 , 0.0, 0.1, 72, 0.0, 'Social Science', 'Article Database']) .build(); var downloadFilter = Charts.newNumberRangeFilter() .setFilterColumnLabel("Downloads") .build(); var costperFilter = Charts.newNumberRangeFilter() .setFilterColumnLabel("Cost Per Download") .build(); var costFilter = Charts.newNumberRangeFilter() .setFilterColumnLabel("Cost") .build(); var percentbudgetFilter = Charts.newNumberRangeFilter() .setFilterColumnLabel("% of Total Budget") .build(); var percentusageFilter = Charts.newNumberRangeFilter() .setFilterColumnLabel("% of Total Usage") .build(); var trendFilter = Charts.newNumberRangeFilter() .setFilterColumnLabel("Trend") .build(); var priceincreaseFilter = Charts.newNumberRangeFilter() .setFilterColumnLabel("% Price Increase") .build(); var subjectFilter = Charts.newCategoryFilter() .setFilterColumnLabel("Subject Area") .build(); var formatFilter = Charts.newCategoryFilter() .setFilterColumnLabel("Format") .build(); var pieChart = Charts.newPieChart() .setTitle('Percentage of Total Downloads') .setDataViewDefinition(Charts.newDataViewDefinition() .setColumns([0, 1])) .build(); var tableChart = Charts.newTableChart() .setDimensions(1000, 1500) .build(); var dashboard = Charts.newDashboardPanel() .setDataTable(data) .bind([downloadFilter, costperFilter, costFilter, percentbudgetFilter, percentusageFilter, trendFilter, priceincreaseFilter, subjectFilter, formatFilter], [pieChart, tableChart]) .build(); var uiApp = UiApp.createApplication().setTitle("Database Statistics for Fiscal Year 2014-15"); dashboard.add(uiApp.createVerticalPanel() .add(uiApp.createHorizontalPanel() .add(uiApp.createVerticalPanel() .add(uiApp.createHorizontalPanel() .add(pieChart)) .add(uiApp.createHorizontalPanel() .add(subjectFilter) .setSpacing(15)) .add(uiApp.createHorizontalPanel() .add(formatFilter) .setSpacing(15)) ) .add(uiApp.createVerticalPanel() .add(uiApp.createHorizontalPanel() .add(downloadFilter) .setSpacing(15)) .add(uiApp.createHorizontalPanel() .add(costperFilter) .setSpacing(15)) .add(uiApp.createHorizontalPanel() .add(costFilter) .setSpacing(15)) .add(uiApp.createHorizontalPanel() .add(percentbudgetFilter) .setSpacing(15)) .add(uiApp.createHorizontalPanel() .add(percentusageFilter) .setSpacing(15)) .add(uiApp.createHorizontalPanel() .add(trendFilter) .setSpacing(15)) .add(uiApp.createHorizontalPanel() .add(priceincreaseFilter) .setSpacing(15)) ) ) .add(uiApp.createVerticalPanel() .add(uiApp.createHorizontalPanel() .add(tableChart) .setSpacing(5)))); uiApp.add(dashboard); return uiApp; }