过滤包含条件的PowerPivot字段

时间:2018-05-21 21:48:31

标签: vba excel-vba excel-2013 powerpivot excel

我是一名交易会计师,实际上只是通过Excel / VBA中的自我教学来自学。我通过PowerPivot处理从OLAP多维数据集中提取的大量数据,并尝试通过自动化流程来工作。

我坚持认为这可能是一个非常简单的问题:如何将过滤器应用于PowerPivot字段"喜欢"或"包含"具体标准?它甚至不是一个动态的要求,但仍然令人困惑......

以下是我得到的内容,假设我想查找 cointain "数据"

的所有线路描述
Sub DataPivot()

Sheets("Data").Select
Dim pt As PivotTable
Dim pf As PivotField

Set pt = ActiveSheet.PivotTables("DataPivot")
Set pf = pt.PivotFields("[DataQuery].[LineDesc].[LineDesc]")

pf.ClearAllFilters
pf.CurrentPageName = "[DataQuery].[LineDesc].&[" & "*" Data "*" & "]"


End Sub

我对VBA和普通数据透视表有更多的经验,但PowerPivot只是把它上面的一切都变成了头脑。

感谢任何和所有帮助!谢谢!

1 个答案:

答案 0 :(得分:0)

据我所知,您无法应用like / contains过滤器 CurrentPageName但是必须给/应用特定成员

Data = "a spefic member or a list"
pf.CurrentPageName = "[DataQuery].[LineDesc].&[" &  Data  & "]"

但是如果[LineDesc]在ROWS / COLUMNS中,你可以

pf([DataQuery].[LineDesc].[LineDesc]).PivotFilters.Add2 Type:= xlCaptionContains, Value1:=Data

由于