0 / 0 / 0
Регистрация: 03.09.2017
Сообщений: 2
1

Фильтр в Олап

03.09.2017, 22:29. Показов 990. Ответов 0
Метки olap (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Я не так давно изучаю vba и столкнулся с проблемой при работе с олап-кубом. Куб содержит артикулы товаров (более 10 000) и постоянно возникает необходимость фильтровать куб только по определенным артикулам. При записи макрорекодором выборки, например, 3-х артикулов код выглядит следующим образом:
Visual Basic
1
2
3
4
5
6
7
Sub Коды()
    ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields( _
        "[Товарный кл].[Код товара].[Код товара]").VisibleItemsList = Array( _
        "[Товарный кл].[Код товара].&[0230405026]", _
        "[Товарный кл].[Код товара].&[1100071922]", _
        "[Товарный кл].[Код товара].&[1100073043]")
End Sub
Я решил прописать макрос, который вытаскивает нужные коды из графы F. Макрос проходит по всем артикулам, но фильтр работает только для последнего артикула. Я полагаю, что последняя конструкция поочередно фильтрует по артикулам, но не сохраняет предыдущее условие в фильтре. Т.е. нет накопительного фильтра. Код написал на основании того, что получилось в макрорекодоре (выше). Как возможно скорректировать макрос, чтобы выборка производилась по всем артикулам из диапазона?

Код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub SKU()
 
Dim MA(2) As Range
Dim x As Integer
    
    For x = 0 To 2
        Set MA(x) = Range("F" & x + 1)
    Next x
    
    For x = 0 To 2
        ActiveSheet.PivotTables("СводнаяТаблица2").PivotFields( _
        "[Товарный кл].[Код товара].[Код товара]").VisibleItemsList = Array("[Товарный кл].[Код товара].&[" & MA(x) & "]")
    Next x
    
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2017, 22:29
Ответы с готовыми решениями:

Перебор значений циклом в ОЛАП сводной таблице
Добрый день! Пишу макрос связанный с ОЛАП кубом. необходимо для начала получить количество...

Требуются книги по ОЛАП-технологиям
Прощу Вас выложить здесь книги по OLAP. P.s. предпочтения, чтоб приятно читалось и понималось,...

Фильтр по форме по нескольким логическим полям с использованием кнопки Общий фильтр
Здравствуйте! Есть простая таблица и созданная форма. Идея в том, чтобы ставя галки осуществлять...

Фильтр
Доброго времени суток! Подскажите, как сделать так, чтобы при фильтрации можно было не писать весь...

0
03.09.2017, 22:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.09.2017, 22:29
Помогаю со студенческими работами здесь

Фильтр в бд
Всем доброго времени суток! Возникла проблема с фильтром. В базе данных .dbf есть поле PKU. Там...

Фильтр
procedure TF_OknoOrganizasiya.FormShow(Sender: TObject); var i: Integer; begin...

Фильтр
Пожалуйста помогите настроить фильтр то есть поставить его красиво. Чтобы сумма была по середине а...

Фильтр
Доброго времени! Есть база: Страна Область Населенный пункт ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru