Программно исключить элементы страницы в оси olap

У меня сводная таблица на кубе olap. Я могу перейти в поле страницы и вручную отменить выбор нескольких элементов. Как я могу сделать это в VBA на основе списка элементов, которые мне нужно исключить? (nb У меня нет соответствующего списка элементов, которые мне нужны)

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

Вам не нужно запускать запрос MDX для отображения элементов измерения, вы можете посмотреть на свойства объекта куба в VBA. Начните с этого и узнайте, где он вас доставит!

Установить oCat = Новый ADOMD.Catalog

проведите через это, например: oCat.CubeDefs (sCube) .Dimensions (3) .Hierarchies (0) .Levels (2) .Members (i)

Я прошу прощения за этот пример, находящийся на C #, но я действительно не знаю достаточно VBA для его перевода (возможно, кто-то может отредактировать эту запись и добавить ее ниже).

Вы ссылаетесь на что-то вроде этого?

((MOE.PivotField)pivotTableObject.PivotFields("[NAME]")).Delete(); 

Где MOE – пространство имен Microsoft.Office.Interop.Excel и [NAME] – это имя поля, которое вы хотите удалить.

Я нашел одно не вполне удовлетворительное решение. В отдельном запросе MDX я получил все элементы измерения, соответствующие полю страницы. Я также создал словарь исключаемых элементов. Затем я просматриваю элементы следующим образом:

 PivotField.CubeField.EnableMultiplePageItems = True firstTime = True For Each member In dimensionMembers If Not HiddenMembers.Exists(member) Then 'firstTime = true is the equivalent of unchecking ' the root node of the items treeview PivotField.CubeField.AddPageItem "[Dimension].[" & member & "]", firstTime firstTime = False End If Next 

Я говорю неудовлетворительно, потому что каждый вызов AddPageItem вызывает запрос на Analysis Server, что делает его непрактично медленным. И это просто неправильно.

  • Ошибка сводной таблицы 1004
  • SSAS и сводная таблица Excel - применять измерение только к одному набору значений
  • Сводная таблица на основе таблиц excel таблиц по столбцам и строкам
  • Не удалось установить свойство Visible класса PivotItem
  • Найти средний интервал между датами в сводной таблице
  • Установить порядок строк в сводной таблице с помощью VBA
  • Сочетание столбцов разных сборов для создания сводного отчета о прибылях и убытках?
  • XSSF (POI) - изменение шрифта на сводной таблице
  • Необходимо объединить 2 заявления в 1
  • Переупорядочить определенные столбцы и строки
  • Таблица сводных данных Excel: переместить поля значений из строки в столбец
  • Давайте будем гением компьютера.