【发布时间】:2018-05-21 21:48:31
【问题描述】:
我是一名职业会计师,实际上只是通过在 Excel/VBA 中胡闹的自学成才。我处理通过 PowerPivot 从 OLAP 多维数据集提取的大量数据,并试图通过自动化流程来工作。
我被困在我认为可能是一个非常简单的问题上:如何将过滤器应用于具有“喜欢”或“包含”特定条件的 PowerPivot 字段?这甚至不是动态要求,但仍然令人困惑......
这就是我所拥有的,假设我想找到所有 包含“数据”的行描述:
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 只是将一切都搞定了。
感谢您的任何帮助!谢谢!
【问题讨论】:
-
您的 LineDesc 是否在数据透视表中显示为标签?还是在价值观领域?即它是在行还是列上?还是在中间?
-
两者都不存在(这是一个合适的答案哈),我仅在数据透视表字段的“过滤器”区域中使用它。我不需要显示 LineDesc,只需根据该行是否包含“数据”一词来显示其他变量。我能够通过使用公式 '=SEARCH("Data",[LineDesc],,0)' 在 PowerPivot 模型中使用计算字段来开发解决方法,然后设置当前页面名称以选择值中带有“1”的行。
标签: vba excel excel-2013 powerpivot