Семейство программного обеспечения Майкрософт для работы с электронными таблицами, оснащенное инструментами для анализа, построения диаграмм и обмена данными.
В вашем вопросе написано, цитата: "Ексель 2016. Сводная таблица подключена к олап Кубу. В сводной таблице есть поля. В т.ч. "контрагент", "товар" Оба поля содержат текст и находятся в области фильтра. ...".
Покажите ваш фильтр OLAP, в котором присутствует "товар", на представленном вами скриншоте:
Его попросту нет!!!
Макрос к фильтру OLAP:
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
В таблице:
оставляет только данные по "Бренд №2520006093935" выбранному макросом в фильтре OLAP:
На основании вышеизложенного, можно предположить:
-ваш куб OLAP не даёт вам данные для выбора в детализации товаров (товар1 ... товарN);
-ваш макрос, не выполняет возложенную на него задачу, понятную только вам и которую вы упорно скрываете.
P.S. Сравните ваш макрос с моим. И пожалуйста отслеживайте и отвечайте в заданном вами вопросе на Форуме TechNet, в противном случае ответа вы не дождётесь и ваш вопрос переведут в обсуждение.