none
Установка фильтра сводной таблицы через vba по наименованию , а не по номеру элемента в списке RRS feed

  • Вопрос

  • Ексель 2016. Сводная таблица подключена к олап Кубу. В сводной таблице есть поля. В т.ч. "контрагент", "товар" Оба поля содержат текст и находятся в области фильтра. Ставлю на запись макрос. Выбираю в фильтрах контрагент5 и товар25. Останавливаю запись.  Смотрю макрос. Там: Фильтр по [контрагент5] (все в порядке) и , ВМЕСТО [товар25] написано [7] (просто число семь) - порядковый номер товара в списке в фильтре(именно порядковый номер, а не код элемента в олап кубе...).
    Как выбрать товар по наименованию, а не по номеру в списке? Почему в некоторых полях наименования, а в некоторых- номера???

Ответы

  • Для начала, приведите ваш код VBA.

    Для примера, код VBA:

    Sub olap()
    '
    ' olap Макрос
    ' макрос к фильтру
    '
    
    '
        ActiveSheet.PivotTables("BIWEB_SI_OLAP").PivotFields( _
            "[DimProduct].[Brends].[Product Z Brend]").VisibleItemsList = Array( _
            "[DimProduct].[Brends].[Product Z Brend].&[2520006093935]")
        ActiveSheet.PivotTables("BIWEB_SI_OLAP").PivotFields( _
            "[DimProduct].[Brends].[Product Brend]").VisibleItemsList = Array("")
        ActiveSheet.PivotTables("BIWEB_SI_OLAP").PivotFields( _
            "[DimProduct].[Brends].[Product Min]").VisibleItemsList = Array("")
    End Sub

    Таблицу:

    Превращает в таблицу вида:

    На основании вами изложенного, можно предположить:

    -ваш куб OLAP не даёт вам данные для выбора в детализации товаров (товар1 ... товарN);

    -ваш макрос, не выполняет возложенную на него задачу, понятную только вам и которую вы упорно скрываете.


    Да, я Жук, три пары лапок и фасеточные глаза :))


    3 июня 2019 г. 17:36
    Модератор