Выбрать для панели фильтров Поле сводной таблицы данных куба - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь выбрать некоторые текстовые значения на панели фильтров сводной таблицы, которая создается с помощью данных куба. Мой подход состоит в том, чтобы сначала поместить поле в панель фильтров, выбрать в нем некоторые текстовые значения, а затем поместить поля в панель строк и значений. Мне нужно найти несколько букв, скажем «AB» во всех элементах в поле панели фильтров, и какой бы элемент ни имел это, эти элементы должны быть выбраны для фильтрации.

Хотя синтаксис для сводной таблицы данных куба table немного отличается от обычной сводной таблицы, но пока мне удалось заставить ее работать. когда текстовое поле впервые помещается в панель фильтров, все элементы отображаются как выбранные.

То, что я пробовал, но не работает - для каждого PvtItm в .PivotItems

  1.          If PvtItm.Name Like "AB" & "*"  Then
                 PvtItm.Visible = True
            Else
                PvtItm.Visible = False
            End If
        Next PvtItm
    End With ```
    

Приведенный выше код не работает, на самом деле он не проверяет условие If, которое подразумевает отсутствие самих сводных элементов. Но ошибок не выдает.

ActiveSheet.PivotTables("PivotTable1").CubeFields("Time").Add Type:=xlCaptionContains, Value1:="AB" Вышеупомянутое также не работает.

ActiveSheet.PivotTables("PivotTable1").PivotFields("Time"). _ VisibleItemsList = Array("") Вышеупомянутое не имеет никакого эффекта, все элементы остаются выбранными на панели фильтров .

Свойство CurrentPage и ClearAll также не работали.

Что работает -

 ActiveSheet.PivotTables("PivotTable1").PivotFields("[Time].[Time]"). _
        VisibleItemsList = Array("[Time].&[AB1]", "[Time].&[AB2]") 

Эта строка удаляет все выбранные элементы с панели фильтров и выбирает AB1 и AB2 на панели фильтров. Но мне нужно иметь возможность выбирать здесь переменное количество значений элементов. Поскольку ссылка на элемент Pivot не работала должным образом, как показано выше, я не могу найти способ заполнить массив всеми вхождениями элементов с буквой «AB».

Любая помощь будет принята с благодарностью.

...