# 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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/dimensionality.htm)

#### Expressão de gráfico

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](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

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.

Tabela dinâmica mostrando os resultados para as dimensões da linha: CountryCountry, ProductProduct

| 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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/dimensionality.htm)

#### Expressão de gráfico

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`.

Tabela dinâmica mostrando os resultados para as dimensões da linha: CountryCountry, ProductProduct

| 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.