VBA – OLAP多维数据集filter – testing项目是否存在

我在Excel中的OLAP Cube表上有一个filter

ActiveSheet.PivotTables("cohortCLVTwoYear").CubeFields(17).EnableMultiplePageItems = _ True ActiveSheet.PivotTables("cohortCLVTwoYear").PivotFields( _ "[data1].[CUST_COMBINEDmonthsFromOrder].[CUST_COMBINEDmonthsFromOrder]"). _ VisibleItemsList = Array( _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[01-03_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[04-06_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[07-09_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[10-12_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[13-18_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[19-24_Months]") 

这是过滤的数据集是一个人一直是一个客户的时间长度。

在我工作的一些品牌更新,他们已经不存在了很长时间,所以没有一些后来的项目过滤,如19 – 24月

我试图创build一些error handling,如果上述不起作用,请尝试

  ActiveSheet.PivotTables("cohortCLVTwoYear").CubeFields(17).EnableMultiplePageItems = _ True ActiveSheet.PivotTables("cohortCLVTwoYear").PivotFields( _ "[data1].[CUST_COMBINEDmonthsFromOrder].[CUST_COMBINEDmonthsFromOrder]"). _ VisibleItemsList = Array( _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[01-03_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[04-06_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[07-09_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[10-12_Months]", _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[13-18_Months]") 

最终把filter放到…

  ActiveSheet.PivotTables("cohortCLVTwoYear").CubeFields(17).EnableMultiplePageItems = _ True ActiveSheet.PivotTables("cohortCLVTwoYear").PivotFields( _ "[data1].[CUST_COMBINEDmonthsFromOrder].[CUST_COMBINEDmonthsFromOrder]"). _ VisibleItemsList = Array( _ "[data1].[CUST_COMBINEDmonthsFromOrder].&[01-03_Months]") 

01-03_months将永远工作。

但是,一旦filter项目不存在,一旦发生错误,我得到以下错误。

运行时错误“1004:在OLAP多维数据集中找不到该项目

所以这是我现在在哪里,我需要能够检查项目是否存在,如果他们都在那里,做第一个filter,如果没有它filter丢失。

任何人都可以帮我写这个检查器吗?

干杯

约翰