Добавить фильтр в сводную таблицу - PullRequest
3 голосов
/ 29 марта 2020

Я создал сводную таблицу в моем скрипте. Предположим, что эта сводная таблица называется сводная таблица . Я хотел бы добавить фильтр в эту таблицу, поэтому для этого я использую класс 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.

Спасибо за помощь!

1 Ответ

2 голосов
/ 31 марта 2020

К сожалению, в настоящее время кажется, что «Фильтровать по условию» в сводной таблице нельзя программно манипулировать. Только «Фильтровать по значениям» можно манипулировать с помощью setVisibleValues(). Рассмотрите возможность создания проблемы в Issetracker

...