|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Hello world! Источником сводной таблицы является OLAP-куб. Скриптом ниже, беру конкретное поле куба.(ID = 387) и пытаюсь работать с его свойствами. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
В конечном счете мне нужно добраться до свойства VisibleItemsList, которое отвечает за значения выбранные в фильтре этого поля.(как показано на скрине). Подскажите, чем является VisibleItemsList? И как получить количество членов VisibleItemsList или конкретный член? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2017, 14:26 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2017, 14:26 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Yagrus2, PivotField.VisibleItemsList возвращает массив. Там нету свойства Count. Количество выбранных элементов можно определить так: Код: vbnet 1. 2.
А получить конкретное значение элемента можно так: Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 07:55 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
ferzmikk, Спасибо! Теперь могу закончить свою задумку. Но, еще хочется разобраться и с таким вопросом. Судя по скр. свойство VisibleItemsList это одномерный. Почему для обращения к элементу нужны дополнительные скобки? Код: vbnet 1.
Протестировал функцию Array. Почему-то получил двумерный массив. С чем это может быть связано? Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 11:45 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Yagrus2, потому что: Код: vbnet 1.
Массив в массиве... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 11:54 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
The_Prist, Спасибо! С этим подпунктом разобрался. Остался только вопрос про вторые скобки Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 12:13 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Yagrus2Остался только вопрос про вторые скобки тогда не понятно с чем Вы разобрались. Вторые скобки это и есть обращение к массиву внутри другого массива. Если записать нечто вроде: Код: vbnet 1.
то вторые скобки не потребуются. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 12:18 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
The_Prist, С этим я поэкспериментировал Код: vbnet 1.
PivotField.VisibleItemsList - это массив Но PivotField.VisibleItemsList(1) дает ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 13:44 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
В посте выше, не тот скрин ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 13:46 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Yagrus2PivotField.VisibleItemsList(1) дает ошибкуЭто свойство не предполагает обращение к отдельным его элементам напрямую. В самой ошибке написана причина, кстати. VisibleItemsList - это свойство, представляющее собой массив элементов. Надо попробовать объявить VisList как массив явно: Код: vbnet 1. 2.
Хотя не совсем понятно зачем это все вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 16:06 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
The_Prist, В моей книге есть несколько сводных таблиц имеющих один источник (OLAP-куб) Одна из них является мастер таблицей, и показывает отчетные данные в разрезе всей компании. Другие, уже более в мелких разрезах. Например, по товарным группам или филиалам и д.т. Нужно автоматизировать настройку одинаковых фильтров во всех сводных таблицах. Условия фильтрации, во всех сводных должны перестраиваться, если что-то изменилось в фильтрах на главной таблице. Например, на основной таблице поменяли год => все остальных таблицах показатель год, тоже должны перестроиться. Для этого я использую событие Change и в том числе свойство VisibleItemsList. В мастер таблице находится порядка 10 показателей, на которые пользователь устанавливает фильтры. Чтобы лишний раз не перестраивать те показатели, которые не изменились, нужно анализировать значения, которые уже установлены. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 20:41 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Yagrus2, Если набор данных один, изменяться будут только фильтры, можно данные представлять не самой сводной, а функцией экселя ПолучитьДанныеСводнойТаблицы. И в этой формуле значения полей для выборки определять в одной (для каждого поля) ячейке. или макросами смотреть. Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2017, 06:56 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Bobgos, Почему бы не использовать слайсер ? Его можно привязать к нескольким таблицам. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2017, 10:10 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Yagrus2В моей книге есть несколько сводных таблиц имеющих один источник (OLAP-куб) Одна из них является мастер таблицей, и показывает отчетные данные в разрезе всей компании. Другие, уже более в мелких разрезах. Например, по товарным группам или филиалам и д.т. Нужно автоматизировать настройку одинаковых фильтров во всех сводных таблицах. Условия фильтрации, во всех сводных должны перестраиваться, если что-то изменилось в фильтрах на главной таблице. Например, на основной таблице поменяли год => все остальных таблицах показатель год, тоже должны перестроиться. Для этого я использую событие Change и в том числе свойство VisibleItemsList. В мастер таблице находится порядка 10 показателей, на которые пользователь устанавливает фильтры. Чтобы лишний раз не перестраивать те показатели, которые не изменились, нужно анализировать значения, которые уже установлены. У слайсеров какие ограничения? И как использовать для нескольких сводных? Yagrus2, Добрался до Excel - мой код не работает ))) И вообще свойства Filter нет. Киньте книгой с олап и сводной о которой речь. Созданная сводная почему то не имеет свойств на скринах. Задача частая, я раньше решал через встроенную функцию: =ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ. Т.е. готовил несколько листов с нужными форматами, например если нужно обновить данные по фильтру - дате, привязывал даты к одной ячейке с формулой =СЕГОДНЯ(). Каждый новый период (день/месяц/год - что есть в сводной) все листы обновляются сами. Механизмы и форматы сводной пугают своей самопроизвольностью, а агрегация неудовлетвроительная. По мне лучше уж использовать запросы к той же сводной, нежели десяток сводных заново настраивать каждый день. Хотя настройка не менять форматы при обновлении есть, но работает она (если не ошибаюсь) только если просто нажать обновить, а если пришлось поменять список полей все заново. Может проще будет вносить изменения в сам куб, чем все сводные править. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 00:52 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
Bobgos, На моем скриншоте как раз и показано, как один слайсер прицепить к нескольким сводным таблицам. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 09:29 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
big-dukeНа моем скриншоте как раз и показано, как один слайсер прицепить к нескольким сводным таблицам.Это я понял. Как это сделать в 2010 офисе - чтобы появилась вторая сводная в списке? менюшки не нашел ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 21:37 |
|
EXCEL PivotTable VisibleItemsList
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2017, 21:39 |
|
|
start [/forum/topic.php?fid=61&msg=39562374&tid=2172472]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 451ms |
0 / 0 |