Путаница в иерархии фильтрации OLAP - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь использовать указанные значения в моем файле, чтобы определить фильтры, которые будут применяться к моей сводной OLAP, но я изо всех сил пытаюсь правильно записать пользовательский массив из-за существующей иерархии.

При записиЯ получаю следующие результаты

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

Проблема в том, что этот раздел выбирает год и месяц одновременно.

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

Я успешно написал аналогичный скриптгде мне нужно только выбрать год и месяц, когда они не связаны через иерархию, но комбо год / месяц выбрасывает меня на петли и не может быть разделено.

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

1 Ответ

0 голосов
/ 05 марта 2019
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
...