Clase SlicerCacheLevel - un nivel de jerarquía en un origen de datos OLAP que se filtra mediante una segmentación de datos (Excel VBA)
La clase SlicerCacheLevel representa un nivel de jerarquía en un origen de datos OLAP que se filtra mediante una segmentación de datos. Para usar una variable de clase SlicerCacheLevel, primero debe ser instanciado, por ejemplo
Dim slccl as SlicerCacheLevel
Set slccl = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos SlicerCacheLevel en una colección.
Dim slccl As SlicerCacheLevel
For Each slccl In ActiveWorkbook.SlicerCacheLevels
Next slccl
Count
Devuelve el número de objetos SlicerItem en el objeto SlicerCacheLevel especificado. Solo lectura.
Dim lngCount As Long
lngCount = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.Count
CrossFilterType
Devuelve o establece si una segmentación de datos participa en un filtrado cruzado con otras segmentaciones de datos que comparten la misma memoria caché, así como el modo en que se muestra el filtrado cruzado. Lectura y escritura. Posibles valores de retorno son xlSlicerCrossFilterHideButtonsWithNoData - El filtrado cruzado está activado para esta segmentación de datos, memoria caché y cualquier mosaico sin datos para una selección de filtrado en otras segmentaciones de datos conectadas al mismo origen de datos aparecerá atenuado, xlSlicerCrossFilterShowItemsWithDataAtTop - El filtrado cruzado está activado para esta segmentación de datos, memoria caché y cualquier mosaico sin datos para una selección de filtrado en otras segmentaciones de datos conectadas al mismo origen de datos aparecerá atenuado, xlSlicerCrossFilterShowItemsWithNoData - El filtrado cruzado está activado para esta segmentación de datos, memoria caché y cualquier mosaico sin datos para una selección de filtrado en otras segmentaciones de datos conectadas al mismo origen de datos aparecerá atenuado, xlSlicerNoCrossFilter - El filtrado cruzado está totalmente desactivado, por lo que se muestran todos los mosaicos, los cuales están activos (no atenuados) independientemente de las selecciones de filtrado en otras segmentaciones de datos.
Si hay más de una segmentación de datos asociada con la misma tabla dinámica, de forma predeterminada, si el elemento o los elementos que filtra por en una segmentación de datos no tienen datos correspondientes en otra segmentación de datos, esos elementos estarán atenuados. Por ejemplo, si tiene una segmentación de país y una segmentación de estado, y elige un país en la segmentación de país, se atenuarán todos los Estados que no se encuentren en ese país. Esta característica se conoce como filtrado cruzado. Las opciones de la interfaz de usuario que se corresponden con el valor de la propiedad CrossFilterType son las casillas de verificación Indicar visualmente elementos sin datos y Mostrar elementos sin datos al final del cuadro de diálogo Configuración de la segmentación de datos. Establecer la propiedad CrossFilterType en xlSlicerCrossFilterShowItemsWithDataAtTop se corresponde con activar las casillas de verificación Indicar visualmente elementos sin datos y Mostrar elementos sin datos al final. La configuración de la propiedad CrossFilterType en xlSlicerCrossFilterShowItemsWithNoData corresponde a la selección de la casilla de verificación visualmente elementos sin datos . Desactivar ambas casillas de verificación corresponde a establecer la propiedad CrossFilterType en xlSlicerNoCrossFilter. Segmentación de datos filtrar orígenes de datos no OLAP (SlicerCache.** OLAP** = false) no es compatible con la propiedad CrossFilterType del objeto SlicerCacheLevel En el caso de las segmentaciones de datos que filtran tablas dinámicas basadas en rangos, listas y orígenes de datos relacionales no OLAP, use la propiedad CrossFilterType del objeto SlicerCache en su lugar.
ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.CrossFilterType = xlSlicerCrossFilterHideButtonsWithNoData
Name
Devuelve el nombre único MDX del nivel de jerarquía OLAP representado por el objeto.
Dim strName As String
strName = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.Name
Ordinal
Devuelve el valor ordinal de base uno del nivel de jerarquía representado por el objeto SlicerCacheLevel especificado. Solo lectura.
Dim lngOrdinal As Long
lngOrdinal = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.Ordinal
SlicerItems
Devuelve una colección SlicerItems que contiene la colección de todos los elementos de rebanador para el nivel especificado. Solo lectura.
Dim sisSlicerItems As SlicerItems
Set sisSlicerItems = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.SlicerItems
SortItems
Devuelve o establece el criterio de ordenación de los elementos de la segmentación de elementos. Lectura y escritura. Posibles valores de retorno son xlSlicerSortAscending - Los elementos de la segmentación de datos se ordenan en orden ascendente por los títulos de los elementos, xlSlicerSortDataSourceOrder - Los elementos de la segmentación de datos se muestran en el orden proporcionado por el origen de datos, xlSlicerSortDescending - Los elementos de la segmentación de datos se ordenan en orden descendente por los títulos de los elementos.
El valor predeterminado de esta propiedad es xlDataSourceOrder (1).
ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.SortItems = xlSlicerSortAscending
VisibleSlicerItemsList
Devuelve la lista de los elementos de segmentación de datos que se incluyen actualmente en el filtro de segmentación de datos. Solo lectura.
La lista de elementos de segmentación de datos se devuelve como cadenas de nombre único de MDX. Si esta lista está vacía, la segmentación de datos no está filtrando el origen de datos y todos los mosaicos de la segmentación de datos se muestran como seleccionados.
Dim varVisibleSlicerItemsList As Variant
varVisibleSlicerItemsList = ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.VisibleSlicerItemsList