我有以下脚本来创建简单的数据透视表。这是一个工作脚本。但是,我很难找到样本代码来创建过滤器。如果有人可以向我展示示例脚本来创建数据透视表过滤器,我将不胜感激。
loadSongs()
答案 0 :(得分:0)
文档可以使用示例。
在您的代码上下文中:
pivotTableParams.criteria = {
8: {visibleValues: ["asdf", "fdsa"]},
9: {visibleValues: ["sdaf", "fads"]},
//and so on
};
上面的键8
和9
引用了数据透视源中的列。类似于sourceColumnOffset
引用它们的方式。
criteria
字段记录在这里:Pivot Tables | Sheets API | Google Developers
此处记录了PivotFilterCriteria
类型:PivotFilterCriteria | Sheets API | Google Developers
根据我的调查,我相信visibleValues
是唯一可以通过的密钥,因此据我所知不能通过排除进行筛选。
答案 1 :(得分:0)
如果有人遇到这个线程试图找到一个工作脚本的例子,其中有更详细的参数被传递给过滤器,这里有一个过滤器的工作示例,它删除所有空白值并默认显示所有其他值:
// Filter blank cells
var condition = new Boolean();
condition.type = "NOT_BLANK";
pivotTableParams.criteria = { 0: {"condition": condition, "visibleByDefault": true}};
在这个例子中,“0”是数据透视表上的列索引。
以下是来自 Google Sheets API 的文档,不幸的是,这些文档缺少示例,因此可能需要进行大量的反复试验才能使工作正常进行: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/pivot-tables#PivotFilterCriteria
答案 2 :(得分:0)
如果有人尝试在 Apps 脚本中调用 Sheets API,您可以使用以下代码向数据透视表对象添加过滤器
var filter1 = Sheets.newPivotFilterCriteria()
filter1.visibleValues = ['Sí']
var spec1 = Sheets.newPivotFilterSpec()
spec1.filterCriteria = filter1
spec1.columnOffsetIndex = 0
var filter2 = Sheets.newPivotFilterCriteria()
filter2.visibleValues = dates
var spec2 = Sheets.newPivotFilterSpec()
spec2.filterCriteria = filter2
spec2.columnOffsetIndex = 10
var filter3 = Sheets.newPivotFilterCriteria()
filter3.visibleValues = ['Negocio']
var spec3 = Sheets.newPivotFilterSpec()
spec3.filterCriteria = filter3
spec3.columnOffsetIndex = 23
pivotTable.filterSpecs = [spec1,spec2,spec3]