OLAP 过滤层次混乱

OLAP filtering hierarchy confusion

我试图在我的文件中使用指定的值来确定要应用于我的 OLAP 数据透视表的过滤器,但由于存在层次结构,我很难正确标记自定义数组。

录制时我得到以下结果

ActiveSheet.PivotTables("PivotTable3").PivotFields( _
        "[Date].[Date Hierarchy].[Month]"). _
        VisibleItemsList = Array( _
        "[Date].[Date Hierarchy].[Year].&[2019].&[2]" _
        )

问题是这部分select同时输入年份和月份。

"[Date].[Date Hierarchy].[Year].&[2019].&[2]" _
        )

我已经成功地编写了一个类似的脚本,我只需要 select 年和月,它们没有通过层次结构连接,但是 year/month 组合让我陷入循环,无法分开。

Dim pt As PivotTable
Dim Field As PivotField
Dim Field2 As PivotField
Dim year As String
Dim month As String


Set pt = Worksheets("Csum").PivotTables("PivotTable1")
Set Field = pt.PivotFields("[CC Date].[CC Year].[CC Year]")
Set Field2 = pt.PivotFields("[CS Date].[CS Month].[CS Month]")
year = Worksheets("Sheet1").Range("B8")
month = Worksheets("sheet1").Range("B9")


Sheets("CashSummary").Select


With pt
    Field.CurrentPageName = "[CC Date].[CC Year].&[" & year & "]"
    Field2.CurrentPageName = "[CS Date].[CS Month].&[" & month & "]"
End With
Function SetFilterOfMonth(yr, mon)
mFilter = "&[" & yr & "].&[" & mon & "]"

ActiveSheet.PivotTables("PivotTable3").PivotFields( _
        "[CS Date].[CS Date Hierarchy].[CS Year]" _
        ).VisibleItemsList = Array("")
    ActiveSheet.PivotTables("PivotTable3").PivotFields( _
            "[CS Date].[CS Date Hierarchy].[CS Month]" _
            ).VisibleItemsList = Array( _
            "[CS Date].[CS Date Hierarchy].[CS Year]." & mFilter _
            )

End Function

Sub Test()
    mYear = Worksheets("Sheet1").Range("B8")
    mMonth = Worksheets("Sheet1").Range("B9")
    SetFilterOfMonth mYear, mMonth
End Sub