【问题标题】:Add filter to PivotTable将过滤器添加到数据透视表
【发布时间】:2020-07-10 03:41:31
【问题描述】:

我在脚本中创建了数据透视表。假设这个数据透视表被命名为 pivotTable。我想在这个表中添加一个过滤器,所以我使用 FilterCriteria 类来实现这一点。

我可以这样做:

pivotTable.addFilter(colNumber, SpreadsheetApp.newFilterCriteria().setVisibleValues(["dog", "cat"]).build());

执行此函数后,pivotTable 中仅保留索引为 colNumber 的列中值为“cat”或“dog”的行。现在我想做这样的事情:

pivotTable.addFilter(anotherColNumber, SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build());

...然后我得到异常:

Exception: The pivot table filter criteria should only contain visible values.

我的问题是:

  • 我不明白我收到的异常(“可见值”究竟是什么意思?)。
  • 我不知道我做错了什么。
  • 我找不到这个或类似问题的答案。
  • 我发现的大多数答案都与 javascript 相关,因此对我没有帮助。
  • https://developers.google.com/apps-script/reference/spreadsheet 文档中没有示例。

感谢您的帮助!

【问题讨论】:

  • 如果你先pivotTable.addFilter(anotherColNumber, SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build());会发生什么?
  • 如果我更改条件顺序,错误是一样的。即使我只有一个条件 whenCellNotEmpty() ,我也会遇到同样的异常。
  • “可见值”到底是什么意思 这可能意味着您只能将.setVisibleValues() 作为过滤条件。您可以在 Google 表格中手动设置其他过滤条件吗?
  • @TheMaster 是的,我可以手动设置这个或其他标准。如果我不能用脚本做到这一点会很奇怪,所以我认为我犯了一些错误。

标签: google-apps-script google-sheets filter pivot-table


【解决方案1】:

不幸的是,目前,数据透视表中的“按条件过滤”似乎无法以编程方式进行操作。只有“按值过滤”可以使用setVisibleValues()进行操作。考虑创建issue in the issuetrackerissueFi Teach创建的issue上添加一个星号(★)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
  • 2019-06-12
  • 2018-04-22
  • 2020-05-08
  • 1970-01-01
相关资源
最近更新 更多