Klasse SlicerCacheLevel - eine Ebene einer Hierarchie in einer OLAP-Datenquelle (Excel VBA)

Die Klasse SlicerCacheLevel stellt eine Ebene einer Hierarchie in einer OLAP-Datenquelle dar, die von einem Datenschnitt gefiltert wird. Um eine SlicerCacheLevel -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise


Dim slccl as SlicerCacheLevel
Set slccl = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel

For Each

Hier ist ein Beispiel für die Verarbeitung der SlicerCacheLevel -Elemente in einer Sammlung


Dim slccl As SlicerCacheLevel
For Each slccl In ActiveWorkbook.SlicerCacheLevels
	
Next slccl

Count

Gibt die Anzahl der SlicerItem -Objekte im angegebenen SlicerCacheLevel -Objekt zurück.


Dim lngCount As Long
lngCount = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.Count

CrossFilterType

Gibt zurück oder legt fest, ob ein Datenschnitt zusammen mit anderen Datenschnitten, die denselben Datenschnittcache nutzen, an der Querfilterung beteiligt ist und ob die Querfilterung angezeigt wird. Mögliche Rückgabewerte sind xlSlicerCrossFilterHideButtonsWithNoData - Kreuzfilterung ist für diesen Datenschnittcache aktiviert; jede Kachel ohne Daten für eine Filterauswahl in anderen Datenschnitten, die mit der gleichen Datenquelle verbunden sind, wird grau dargestellt, xlSlicerCrossFilterShowItemsWithDataAtTop - Kreuzfilterung ist für diesen Datenschnittcache aktiviert; jede Kachel ohne Daten für eine Filterauswahl in anderen Datenschnitten, die mit der gleichen Datenquelle verbunden sind, wird grau dargestellt, xlSlicerCrossFilterShowItemsWithNoData - Kreuzfilterung ist für diesen Datenschnittcache aktiviert; jede Kachel ohne Daten für eine Filterauswahl in anderen Datenschnitten, die mit der gleichen Datenquelle verbunden sind, wird grau dargestellt, xlSlicerNoCrossFilter - Kreuzfilterung ist vollständig deaktiviert, so dass alle Kacheln angezeigt und aktiv (nicht grau) dargestellt werden, unabhängig von der Filterauswahl in anderen Datenschnitten.

Wenn mehr als ein Slicer mit derselben PivotTable verknüpft ist, werden diese Elemente standardmäßig abgeblendet, wenn das Element oder die Elemente, die Sie nach einem datenschnitt filtern, in einem anderen Slicer nicht enthalten sind. Die Einstellungen der Benutzeroberfläche, die der Einstellung der CrossFilterType-Eigenschaft entsprechen, sind die Kontrollkästchen Elemente ohne Daten visuell kennzeichnen und Elemente ohne Daten zuletzt anzeigen im Dialogfeld Datenschnitteinstellungen. Das Festlegen der CrossFilterType-Eigenschaft auf xlSlicerCrossFilterShowItemsWithDataAtTop entspricht dem Aktivieren beider Kontrollkästchen Elemente ohne Daten visuell kennzeichnen und Elemente ohne Daten zuletzt anzeigen. Wenn Sie die CrossFilterType -Eigenschaft auf xlSlicerCrossFilterShowItemsWithNoData festlegen, wird nur das Kontrollkästchen Elemente ohne Daten visuell markieren ausgewählt. Das Deaktivieren beider Kontrollkästchen entspricht dem Festlegen der CrossFilterType -Eigenschaft auf xlSlicerNoCrossFilter. Slicers, die nicht-OLAP-Datenquellen Filtern (SlicerCache.** OLAP** = false) werden von der CrossFilterType -Eigenschaft des SlicerCacheLevel -Objekts nicht unterstützt.


ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.CrossFilterType = xlSlicerCrossFilterHideButtonsWithNoData

Name

Gibt den eindeutigen MDX-Namen der vom Objekt dargestellten OLAP-Hierarchieebene zurück.


Dim strName As String
strName = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.Name

Ordinal

Gibt den 1-basierten Ordinalwert der Hierarchieebene zurück, die durch das angegebene SlicerCacheLevel -Objekt dargestellt wird.


Dim lngOrdinal As Long
lngOrdinal = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.Ordinal

SlicerItems

Gibt eine SlicerItems -Auflistung zurück, die die Auflistung aller Slicer-Elemente für die angegebene Ebene enthält.


Dim sisSlicerItems As SlicerItems
Set sisSlicerItems = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.SlicerItems

SortItems

Gibt die Sortierreihenfolge der Elemente im datenschnitt zurück oder legt diese fest. Mögliche Rückgabewerte sind xlSlicerSortAscending - Die Datenschnittelemente sind in aufsteigender Reihenfolge nach Elementtiteln sortiert, xlSlicerSortDataSourceOrder - Die Datenschnittelemente werden in der von der Datenquelle vorgegebenen Reihenfolge angezeigt, xlSlicerSortDescending - Die Datenschnittelemente sind in absteigender Reihenfolge nach Elementtiteln sortiert.

Die Standardeinstellung für diese Eigenschaft ist xlDataSourceOrder (1).


ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.SortItems = xlSlicerSortAscending

VisibleSlicerItemsList

Gibt die Liste der Datenschnittelemente zurück, die aktuell im Datenschnittfilter enthalten sind.

Die Liste der Datenschnittelemente, die als eindeutige MDX-Namenszeichenfolgen zurückgegeben werden.


Dim varVisibleSlicerItemsList As Variant
varVisibleSlicerItemsList = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.VisibleSlicerItemsList