Добрый день! Прошу помочь с задачей!
Excel 2016 / 365
Исходная таблица загружена в модель данных при помощи PowerQuery.
На основе этой таблицы создано несколько сводных таблиц для подсчета различных метрик и визуализации различных группировок.
Т.к. исторические данные не сохраняются, данные в сводной таблице меняются.
Пользователям необходимо всё обновлять при помощи одной кнопки. Поэтому рассматривается только решение при помощи макроса.
В файле примера приведены только данные для конкретной сводной таблицы: код продукта (число как текст) и количество заявок по этому продукту (число).
Сводная таблица отображает:
- в строках - код продукта
- в данных - Distinct Count количества заявок
- в фильтре - количество заявок должно быть неравно нулю.
Необходимо при помощи макроса в фильтревыбирать все значения, а затем оставлять только те, которые не равны нулю.
Всё, что до этого находил, так и не смог адаптировать под свои нужды.
Например, вот такой код выглядит наиболее подходящим для этой задачи:
Но фактический список уникальных значений "количества заявок" представляет из себя последовательность типа "0, 1, 2, 3, 5, 10, 11, 70, 80, 150", поэтому приведенный выше код не срабатывает, а как выбрать из этого списка по порядку - не знаю.
Пожалуйста, помогите.
Excel 2016 / 365
Исходная таблица загружена в модель данных при помощи PowerQuery.
На основе этой таблицы создано несколько сводных таблиц для подсчета различных метрик и визуализации различных группировок.
Т.к. исторические данные не сохраняются, данные в сводной таблице меняются.
Пользователям необходимо всё обновлять при помощи одной кнопки. Поэтому рассматривается только решение при помощи макроса.
В файле примера приведены только данные для конкретной сводной таблицы: код продукта (число как текст) и количество заявок по этому продукту (число).
Сводная таблица отображает:
- в строках - код продукта
- в данных - Distinct Count количества заявок
- в фильтре - количество заявок должно быть неравно нулю.
Необходимо при помощи макроса в фильтре
Всё, что до этого находил, так и не смог адаптировать под свои нужды.
Например, вот такой код выглядит наиболее подходящим для этой задачи:
Код |
---|
Dim arr(), li, lu As Long For li = 1 To 1000 ReDim Preserve arr(lu) arr(lu) = "[Table1].[Количество заявок].&[" & li & "]" lu = lu + 1 Next ActiveSheet.PivotTables("PivotTable2").PivotFields("[Table1].[Количество заявок].[Количество заявок]").VisibleItemsList = arr |
Пожалуйста, помогите.