Charts Google应用程序脚本图表中的分组数据

Charts Google应用程序脚本图表中的分组数据,charts,google-apps-script,google-sheets,grouping,Charts,Google Apps Script,Google Sheets,Grouping,我正在尝试使用google apps脚本构建一个简单的仪表板应用程序,从google电子表格中提取数据,然后使用仪表板上的图表直观地显示数据 我已经成功地执行了这些初始步骤,但在尝试将数据分组以防止饼图中的多个切片被分配到同一任务时遇到了问题。在下面的源电子表格中,您将看到链接到不同客户端(B列)的大量“支持”任务条目(E列)。我需要的是根据“任务”列(E)对数据进行分组,以便对G列(小时)中记录的时间条目进行汇总并相应显示(即,每个任务的饼图的一段,无论客户端如何) 我搜索了应用程序脚本文档,

我正在尝试使用google apps脚本构建一个简单的仪表板应用程序,从google电子表格中提取数据,然后使用仪表板上的图表直观地显示数据

我已经成功地执行了这些初始步骤,但在尝试将数据分组以防止饼图中的多个切片被分配到同一任务时遇到了问题。在下面的源电子表格中,您将看到链接到不同客户端(B列)的大量“支持”任务条目(E列)。我需要的是根据“任务”列(E)对数据进行分组,以便对G列(小时)中记录的时间条目进行汇总并相应显示(即,每个任务的饼图的一段,无论客户端如何)

我搜索了应用程序脚本文档,基本上迷失在噪音中,无法在应用程序脚本中直接找到任何明确的方法。我发现了一些关于使用谷歌可视化来实现类似功能的信息,但由于存在太多相互冲突的文档,我正在努力实现这些功能

本质上,我想问的是,在应用程序脚本中,不需要首先查询数据并生成另一张表(作为图表的基础)就可以直接实现这一点吗?如果不可能,那么最直接和/或最好的方法是什么

数据来源:

当前应用程序显示以下内容:

应用程序脚本代码:

function doGet() {
var ss = SpreadsheetApp.openById('1Gvqe89ytJxrKWOvGJWX5heYwrj5L-MP_Pe2jpTqqB5o');
var data = ss.getDataRange();

var taskFilter = Charts.newCategoryFilter().setFilterColumnIndex(4).build();
var clientFilter = Charts.newStringFilter().setFilterColumnIndex(1).build();

var tableChart = Charts.newTableChart()
.setDataViewDefinition(Charts.newDataViewDefinition().setColumns([1,2,4,6]))
.build(); 

var pieChart = Charts.newPieChart()
.setDataViewDefinition(Charts.newDataViewDefinition().setColumns([4,6]))
.build(); 

var dashboard = Charts.newDashboardPanel().setDataTable(data)
.bind([taskFilter, clientFilter], [tableChart, pieChart])
.build();

var app = UiApp.createApplication();
var filterPanel = app.createVerticalPanel();
var chartPanel = app.createHorizontalPanel();
filterPanel.add(taskFilter).add(clientFilter).setSpacing(10);
chartPanel.add(tableChart).add(pieChart).setSpacing(10);

dashboard.add(app.createVerticalPanel().add(filterPanel).add(chartPanel));
app.add(dashboard);
return app;
}