Dimensionality - função de gráfico
Dimensionality() retorna o número de dimensões da linha atual. No caso de tabelas dinâmicas, a função que retorna o número total de colunas da dimensão que têm conteúdo não agregado, isto é, não contêm somas parciais ou agregações contraídas.
Sintaxe:
Dimensionality ( )
Tipo de dados de retorno: inteiro
Limitações:
Essa função só está disponível para gráficos. Para todos os tipos de gráfico, exceto tabelas dinâmicas, ela retornará o número de dimensões em todas as linhas, exceto o total, que será 0.
A classificação por valores y em gráficos ou por colunas de expressão em tabelas não é permitida quando essa função de gráfico é usada em qualquer uma das expressões do gráfico. Essas alternativas de classificação estão, portanto, automaticamente desabilitadas. Quando você usar essa função de gráfico em uma visualização ou tabela, a classificação da visualização será revertida para a entrada classificada dessa função.
Exemplo: expressão de gráfico usando Dimensionalidade
Visão geral
Use a função Dimensionality em uma tabela dinâmica como uma expressão de gráfico onde você deseja aplicar uma formatação de célula diferente, dependendo do número de dimensões em uma linha que tenha dados não agregados. Este exemplo aplica uma cor de fundo às células da tabela que correspondem a uma determinada condição.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.
O script de carregamento contém:
-
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
-
Os campos a seguir na tabela de dados:
-
Country
-
Product
-
Sales
-
Budget
-
Script de carregamento
Example:
Load * inline [
Country, Product, Sales, Budget
Sweden, AA, 100000, 50000
Germany, AA, 125000, 175000
Canada, AA, 105000, 98000
Norway, AA, 74850, 68500
Ireland, AA, 49000, 48000
Sweden, BB, 98000, 99000
Germany, BB, 115000, 175000
Norway,BB,71850,68500
Ireland,BB,31000,48000
] (delimiter is ',');
Para obter mais informações sobre como usar carregamentos inline, consulte Usando carregamentos inline para carregar dados.
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela dinâmica e adicione esses campos como dimensões de linha:
-
Country
-
Product
Crie as seguintes medidas:
-
=Sum(Sales) para calcular a soma dos valores de Sales.
-
=Sum(Budget) para calcular a soma dos valores de Budget.
-
=Dimensionality() para retornar o número de dimensões da linha atual.
No painel Propriedades da medida Sum(Sales), insira a seguinte expressão como a Expressão de cor de fundo:
=If(Dimensionality()=1 and Sum(Sales)<Sum(Budget),RGB(255,156,156),
If(Dimensionality()=2 and Sum(Sales)<Sum(Budget),RGB(178,29,29)
)
)
A saída da expressão da cor de fundo aplica um fundo de célula vermelho-claro ou vermelho-escuro às células da tabela quando as condições aplicáveis são atendidas.
Country | |||
---|---|---|---|
Product | |||
Sum(Sales) | Sum(Budget) | Dimensionality() | |
(+) Canada | 105000 | 98000 | 1 |
(-) Germany | 240000 | 350000 | 1 |
AA | 125000 | 175000 | 2 |
BB | 115000 | 175000 | 2 |
(+) Ireland | 80000 | 96000 | 1 |
(+) Norway | 146700 | 137000 | 1 |
(+) Sweden | 198000 | 149000 | 1 |
Quando a dimensão da primeira linha (Country) é exibida, a função Dimensionality retorna 1. Quando você expande uma dimensão de linha, como Germany, para exibir a segunda dimensão de linha (Product), a função retorna 2.
As expressões de cor de fundo para a medida Sum(Sales) realizam cálculos com base na dimensionalidade e nas vendas para destacar resultados diferentes. Quando a dimensionalidade é 1, qualquer Country com Sum(Sales) menor que Sum(Budget) aparece em vermelho claro, neste exemplo, Germany e Ireland. Quando a dimensionalidade é 2, qualquer Product com Sum(Sales) menor que Sum(Budget) aparece em vermelho claro, neste exemplo, AA e BB para Germany.
Exemplo - Cenário de Dimensionality
Visão geral
Este exemplo usa a função Dimensionality para aplicar detalhes a um relatório e destacar células da tabela para algumas dimensões.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.
O script de carregamento contém:
-
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
-
Os campos a seguir na tabela de dados:
-
Region
-
SalesProduct
-
Year
-
SalesValue
-
Quantity
-
Product
-
Script de carregamento
Example:
LOAD * INLINE [
Region, SalesProduct, Year, SalesValue, Quantity, Profit
North, Laptop, 2023, 20000, 15, 4000
North, Mobile, 2023, 15000, 25, 3000
North, Laptop, 2022, 18000, 20, 3500
North, Mobile, 2022, 14000, 22, 2800
South, Laptop, 2023, 22000, 18, 4500
South, Mobile, 2023, 16000, 27, 3200
South, Laptop, 2022, 19000, 19, 3800
South, Mobile, 2022, 15000, 23, 3100
East, Laptop, 2023, 21000, 16, 4200
East, Mobile, 2023, 15500, 24, 3100
East, Laptop, 2022, 18500, 18, 3900
East, Mobile, 2022, 14500, 21, 2950
West, Laptop, 2023, 23000, 17, 4700
West, Mobile, 2023, 16500, 26, 3300
West, Laptop, 2022, 19500, 20, 4000
West, Mobile, 2022, 15500, 24, 3100
North, Tablet, 2023, 12000, 10, 2500
South, Tablet, 2023, 13000, 12, 2700
East, Tablet, 2023, 12500, 11, 2600
West, Tablet, 2023, 13500, 13, 2800
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela dinâmica e adicione esses campos como dimensões de linha:
-
Year
-
SalesProduct
-
Region
Crie as seguintes medidas:
-
=If(Dimensionality()=1, 'Total', 'Detail') para indicar se é uma linha Total ou Detail.
-
=If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')) para indicar o nível da dimensão que está sendo exibida.
-
=Sum(SalesValue) para calcular a soma das vendas.
No painel Propriedades da medida Sum(SalesValue), insira a seguinte expressão como a Expressão de cor de fundo:
=If(Dimensionality()=1, LightGray())
A saída da expressão de cor de fundo aplica um fundo cinza claro às células da tabela quando a dimensionalidade é 1.
Ano | |||
---|---|---|---|
SalesProduct | |||
Região | |||
If(Dimensionality()=1, 'Total', 'Detail') | If(Dimensionality()=3, 'Region-Level', If(Dimensionality()=2, 'Product-Level', 'Summary-Level')) | Sum(SalesValue) | |
(+) 2022 | Total | Nível de resumo | 134000 |
(-) 2023 | Total | Nível de resumo | 200000 |
(-) Laptop | Detalhes | Nível do produto | 86000 |
East | Detalhes | Nível regional | 21000 |
North | Detalhes | Nível regional | 20000 |
South | Detalhes | Nível regional | 22000 |
West | Detalhes | Nível regional | 23000 |
(-) Celular | Detalhes | Nível do produto | 63000 |
(-) Tablet | Detalhes | Nível do produto | 51000 |
Você pode ver como a função Dimensionality pode ser usada para aprimorar os detalhes do relatório e destacar todas as dimensões de linha de nível superior.