QlikWorld 2020 Global Conference. Join us to discover how to get the most from your data. Act fast. Register now and save.

Trabalhando com tabelas cruzadas no script de carregamento de dados

Uma guia cruzada é um tipo comum de tabela que apresenta uma matriz de valores entre duas listas retangulares de dados de cabeçalho. Geralmente não é o formato de dados ideal se você quiser associar os dados a outras tabelas de dados.

Este tópico descreve como você pode não girar uma guia cruzada, ou seja, transpor partes dela em linhas, usando o prefixo crosstable para uma declaração LOAD no script de carregamento de dados.

Não girando uma guia cruzada com uma coluna de qualificação

Uma guia cruzada frequentemente é precedida de várias colunas de qualificação, que devem ser lidas de modo direto. Neste caso, há uma coluna de qualificação, Year, e uma matriz de dados de vendas por mês.

Tabela de referência cruzada com uma coluna de qualificação
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 Qlik Sense, o resultado será um campo para Year e um campo para cada um dos meses. Geralmente, esse resultado não é o desejado. Você provavelmente preferiria ter três campos gerados:

  • A coluna de qualificação, neste casoYear, marcada com a cor verde na tabela acima.
  • O campo de atributo, neste caso representado pelos nomes mêsJan - Jun marcados em amarelo. Este campo pode ser adequadamente denominadoMonth.
  • Os valores da matriz de dados, marcados em azul. Neste caso, eles representam dados de vendas, de modo que este pode ser adequadamente denominadoSales.

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

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

Isso cria a seguinte tabela no Qlik Sense:

Tabela com prefixo crosstable adicionado à instrução LOAD ou SELECT
Year Month Sales
2008 Jan 45
2008 Fev 65
2008 Mar 78
2008 Abr 12
2008 Maio 78
2008 Jun 22
2009 Jan 11
2009 Fev 23
... ... ...

Não girando uma guia cruzada com duas colunas de qualificação

Nesse caso, há duas colunas de qualificação à esquerda, seguidas pelas colunas da matriz.

Tabela de referência cruzada com duas colunas de qualificação
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

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 Qlik Sense:

Tabela com colunas de qualificação declaradas como um terceiro parâmetro para o prefixo de crosstable
Vendedor Year Month Sales
A 2008 Jan 45
A 2008 Fev 65
A 2008 Mar 78
A 2008 Abr 12
A 2008 Maio 78
A 2008 Jun 22
A 2009 Jan 11
A 2009 Fev 23
... ... ... ...

See also: