Развернуть 3 отдельных сводных таблицы OLAP на одном листе одновременно - PullRequest
0 голосов
/ 18 октября 2018

У меня есть источник данных для создания 3 сводных таблиц на одном листе, TCSum.

3 таблицы расположены рядом друг с другом, и все 3 имеют одинаковые две строки в полях сводной таблицы,в следующем порядке: Регион - Рынок.

Я не хочу, чтобы столбец Регион отображался 3 раза, поэтому я скрыл столбцы G и K на своем листе TCSum.

Я бынапример, когда я нажимаю кнопку «Развернуть» в столбце «А» для моего первого региона, он расширяет все 3 таблицы.

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

Я попытался:

PivotFieldIndex = "Region"
PivotFieldIndex = "[Region]"
PivotFieldIndex = "Market"
PivotFieldIndex = "[Market]"

Я попробовал Region и [Region], потому что я думал с тех порэто добавляется в модель данных, в которую PivotFieldIndex может потребоваться включить их.Я пришел к такому заключению, записав макрос для одного источника модели данных и одного обычного источника таблиц.

Я также понял, что обычные сводные таблицы используют ShowDetail, а OLAP использует DrilledDown, поэтому я попытался заменить каждый ShowDetail на DrilledDown безудачи.Причина, по которой я добавил эти данные в модель данных, состоит в том, что в 3-й сводной таблице используется функция подсчета скидок.

В инструкциях к другому посту упоминался лист с сводными таблицами, которые должны быть наиболее левыми, чтоTCSum есть, но когда я смотрю в Visual Basic, я вижу Sheet3 (TCSum), поэтому я также попытался заменить

Set wks = wkb.Sheets(1)

на

Set wks = wkb.Sheets(3)

И я решил, почему бы не попробовать

Set wks = wkb.Sheets("TCSum")

Я не получаю никаких ошибок отладки, когда нажимаю кнопку расширения в любой из строк, но, к сожалению, таблица 1 расширяется.

3 сводных таблицы в TCSum называются: TCByType, TCAge, TCActed (у которого есть скидка, если это имеет значение).

...