# Trabalhando com tabelas cruzadas

Uma tabela cruzada é um tipo comum de tabela que apresenta uma matriz de valores entre duas listas retangulares de dados de cabeçalho. Ela poderia ter a aparência da tabela a seguir.

Exemplo 1:

Example cross table 1

| Year | Jan | Feb | Mar | Apr | May | Jun |
| --- | --- | --- | --- | --- | --- | --- |
| 2008 | 45 | 65 | 78 | 12 | 78 | 22 |
| 2009 | 11 | 23 | 22 | 22 | 45 | 85 |
| 2010 | 65 | 56 | 22 | 79 | 12 | 56 |
| 2011 | 45 | 24 | 32 | 78 | 55 | 15 |
| 2012 | 45 | 56 | 35 | 78 | 68 | 82 |

Se essa tabela for simplesmente carregada no QlikView, o resultado será um campo para Year e um campo para cada um dos meses. Geralmente, esse resultado não é o desejado. Seria melhor você gerar três campos: um para cada categoria de cabeçalho (Year e Month) e um para os valores de dados dentro da matriz.

Para isso, é preciso incluir o prefixo crosstable na declaração LOAD ou SELECT.

`crosstable (Month, Sales) LOAD * from ex1.xlsx;`

Isso cria o seguinte resultado no QlikView:

![The resulting cross table.](https://help.qlik.com/pt-BR/qlikview/September2025/Subsystems/Client/Content/Resources/Images/ex_gen_Crosstable.png)

A tabela cruzada é frequentemente precedida de várias colunas de qualificação que devem ser lidas de modo direto. Nesse caso, há uma coluna de qualificação, Year:

Exemplo 2:

Example cross table 2

| Salesman | Year | Jan | Feb | Mar | Apr | May | Jun |
| --- | --- | --- | --- | --- | --- | --- | --- |
| A | 2008 | 45 | 65 | 78 | 12 | 78 | 22 |
| A | 2009 | 11 | 23 | 22 | 22 | 45 | 85 |
| A | 2010 | 65 | 56 | 22 | 79 | 12 | 56 |
| A | 2011 | 45 | 24 | 32 | 78 | 55 | 15 |
| A | 2012 | 45 | 56 | 35 | 78 | 68 | 82 |
| B | 2008 | 57 | 77 | 90 | 24 | 90 | 34 |
| B | 2009 | 23 | 35 | 34 | 34 | 57 | 97 |
| B | 2010 | 77 | 68 | 34 | 91 | 24 | 68 |
| B | 2011 | 57 | 36 | 44 | 90 | 67 | 27 |
| B | 2012 | 57 | 68 | 47 | 90 | 80 | 94 |

Nesse caso, há duas colunas de qualificação à esquerda, seguidas pelas colunas da matriz. O número de colunas de qualificação pode ser indicado como um terceiro parâmetro para o prefixo crosstable, da seguinte maneira:

`crosstable (Month, Sales, 2) LOAD * from ex2.xlsx;`

Isso cria o seguinte resultado no QlikView:

![The resulting cross table.](https://help.qlik.com/pt-BR/qlikview/September2025/Subsystems/Client/Content/Resources/Images/ex_gen_Crosstable2.png)

## Saiba mais

* [Crosstable](https://help.qlik.com/pt-BR/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/ScriptPrefixes/crosstable.htm)