Classe SlicerCacheLevel - um nível de uma hierarquia em uma fonte de dados OLAP sendo filtrada por uma segmentação de dados (Excel VBA)

A classe SlicerCacheLevel representa um nível de uma hierarquia em uma fonte de dados OLAP sendo filtrada por uma segmentação de dados. Para usar uma variável de classe SlicerCacheLevel, ela primeiro precisa ser instanciada por exemplo


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

For Each

Aqui está um exemplo de processamento dos itens SlicerCacheLevel em uma coleção.


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

Count

Retorna o número de objetos SlicerItem no objeto SlicerCacheLevel especificado. Somente leitura.


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

CrossFilterType

Retorna ou define se uma segmentação de dados está participando da filtragem cruzada com outras segmentações de dados que compartilham o mesmo cache de segmentação de dados, além de como a filtragem cruzada é exibida. Leitura/gravação. Os valores de retorno possíveis são xlSlicerCrossFilterHideButtonsWithNoData - A filtragem cruzada é ativada para este cache de segmentação de dados, e qualquer elemento sem dados para uma seleção de filtragem em outras segmentações de dados conectadas à mesma fonte de dados será esmaecido. Além disso, os botões ficarão ocultos, xlSlicerCrossFilterShowItemsWithDataAtTop - A filtragem cruzada é ativada para este cache de segmentação de dados, e qualquer elemento sem dados para uma seleção de filtragem em outras segmentações de dados conectadas à mesma fonte de dados será esmaecido. Além disso, os elementos com dados são movidos até a parte superior da segmentação de dados. Será, xlSlicerCrossFilterShowItemsWithNoData - A filtragem cruzada é ativada para este cache de segmentação de dados, e qualquer elemento sem dados para uma seleção de filtragem em outras segmentações de dados conectadas à mesma fonte de dados será esmaecido, xlSlicerNoCrossFilter - A filtragem cruzada é desativada totalmente, por isso todos os elementos são exibidos e estão ativos (não esmaecidos), independentemente das seleções de filtragem em outras segmentações de dados.

Se mais de uma segmentação de dados estiver associada à mesma tabela dinâmica, por padrão, se o item ou os itens filtrados em uma segmentação de dados não tiver nenhum dado correspondente em outra segmentação de dados, esses itens serão esmaecidos. Por exemplo, se você tiver uma segmentação de perfil de país e uma segmentação de estado, e escolher um país na segmentação de um país, todos os Estados que não estão nesse país serão esmaecidos. Esse recurso é conhecido como filtragem cruzada. As configurações da interface do usuário que correspondem à configuração da propriedade CrossFilterType são as caixas de seleção Indicar itens sem dados visualmente e Mostrar itens sem dados por último na caixa de diálogo Configurações da Segmentação de Dados. Configurar a propriedade CrossFilterType como xlSlicerCrossFilterShowItemsWithDataAtTop corresponde a marcar as caixas de seleção Indicar itens sem dados visualmente e Mostrar itens sem dados por último. A definição da propriedade CrossFilterType como xlSlicerCrossFilterShowItemsWithNoData corresponde à seleção da caixa de seleção indicar apenas os itens sem dados . Desmarcar ambas as caixas de seleção corresponde à configuração da propriedade CrossFilterType como xlSlicerNoCrossFilter. Segmentações de dados fontes de dados não-OLAP (SlicerCache.** OLAP** = false) não são suportados pela propriedade CrossFilterType do objeto SlicerCacheLevel . Para segmentações de dados em tabelas dinâmicas com base em intervalos, listas e fontes de dados relacionais não-OLAP, use a propriedade CrossFilterType do objeto SlicerCache em vez disso.


ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.CrossFilterType = xlSlicerCrossFilterHideButtonsWithNoData

Name

Retorna o nome exclusivo MDX do nível de hierarquia OLAP representado pelo objeto.


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

Ordinal

Retorna o valor ordinal baseado em um do nível de hierarquia representado pelo objeto SlicerCacheLevel especificado. Somente leitura.


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

SlicerItems

Retorna uma coleção SlicerItems que contém a coleção de todos os itens de segmentação de conteúdo para o nível especificado. Somente leitura.


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

SortItems

Retorna ou define a ordem de classificação dos itens na segmentação de,. Leitura/gravação. Os valores de retorno possíveis são xlSlicerSortAscending - Os itens de segmentação de dados são classificados em ordem crescente por legendas de item, xlSlicerSortDataSourceOrder - Os itens de segmentação de dados são exibidos na ordem fornecida pela fonte de dados, xlSlicerSortDescending - Os itens de segmentação de dados são classificados em ordem decrescente por legendas de item.

A configuração padrão desta propriedade é xlDataSourceOrder (1).


ActiveWorkbook.ActiveSlicer.SlicerCacheLevel.SortItems = xlSlicerSortAscending

VisibleSlicerItemsList

Retorna a lista dos itens de segmentação de dados que no momento estão incluídos no filtro de segmentação de dados. Somente leitura.

A lista de itens de segmentação de dados que são retornados como cadeias de caracteres de nomes exclusivos MDX. Se essa lista estiver vazia, isso significará que a segmentação de dados não está filtrando a fonte de dados e todos os elementos de segmentação de dados serão exibidos conforme selecionados.


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