Ir para conteúdo principal Pular para conteúdo complementar

Usando o prefixo Crosstable

Tabelas cruzadas são um tipo comum de tabela que apresentam uma matriz de valores entre duas listas retangulares de dados de cabeçalho. Sempre que existir uma tabela cruzada de dados, você poderá usar o prefixo Crosstable para transformar os dados e criar os campos desejados.

Prefixo Crosstable

Na tabela a seguir Product, há uma coluna por mês e uma linha por produto.

Tabela de produtos
ProdutoJan 2014Fev 2014Mar 2014Apr 2014Mai 2014Jun 2014
A100981008310382
B284279297305294292
C505350544951

Quando você carrega a tabela, a saída é uma tabela com um campo para o Product e um campo para cada um dos meses.

Tabela Product com campo Product, e um campo para cada um dos meses

Tabela de produtos com o campo Product e um campo cada para os meses.

Se desejar analisar esses dados, é muito mais fácil ter todos os números em um campo e todos os meses em outro. Nesse caso, é uma tabela de três colunas com uma coluna para cada categoria. (Product, Month, Sales).

Tabela Product com os campos Product, Month e Sales

Tabela de produtos com os campos Product, Month e Sales.

O prefixo Crosstable converte os dados para uma tabela com uma coluna para o mês Month e outra para Sales. Outra forma de expressar isso é dizer que ele converte os nomes de campo para valores de campos.

  1. Crie um novo aplicativo e chame-o Tutorial de uso de scripts avançado.
  2. Adicione uma nova seção de script no Editor de carregamento de dados.
  3. Nomeie a seção Product.
  4. Em DataFiles no menu direito, clique em Selecionar dados.

  5. Carregue e, em seguida, selecione Product.xlsx.
  6. Selecione a tabela Product na janela Selecionar dados de.
  7. Nota de dicaEm Nomes de campos, certifique-se de que Nomes de campos incorporados esteja selecionado para incluir os nomes de campos da tabela ao carregar os dados.
  8. Clique em Inserir script.
  9. Seu script deve ter a seguinte aparência:

    LOAD Product, "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014", "Jun 2014" FROM [lib://DataFiles/Product.xlsx] (ooxml, embedded labels, table is Product);

  10. Clique em Carregar dados.
  11. Abra o Visualizador do modelo de dados. O modelo de dados tem a seguinte aparência:
  12. Tabela Product com campo Product, e um campo para cada um dos meses

    Tabela de produtos com o campo Product e um campo cada para os meses.
  13. Clique na guia Product no Editor de carregamento de dados.
  14. Digite o seguinte acima do comando LOAD:
  15. CrossTable(Month, Sales)

  16. Clique em Carregar dados.
  17. Abra o Visualizador do modelo de dados. O modelo de dados tem a seguinte aparência:
  18. Tabela Product com os campos Product, Month e Sales

    Tabela de produtos com os campos Product, Month e Sales.

    Observe que geralmente os dados de entrada têm apenas uma coluna como um campo qualificador; como uma chave interna (Product no exemplo acima). Mas é possível ter várias. Nesse caso, todos os campos qualificadores devem ser listados antes dos campos de atributo no comando LOAD e o terceiro parâmetro do prefixo Crosstable deve ser usado para definir o número de campos qualificadores. Não é possível ter um LOAD anterior ou um prefixo na frente da palavra-chave Crosstable. No entanto, você pode usar a concatenação automática.

    Em uma tabela no Qlik Sense, seus dados têm a seguinte aparência:

    Tabela mostrando dados carregados usando o prefixo Crosstable

    Tabela mostrando dados carregados usando o prefixo Crosstable.

    Agora você pode, por exemplo, criar um gráfico de barras usando os dados:

    Gráfico de barras mostrando dados carregados usando o prefixo Crosstable

    Gráfico de barras mostrando dados carregados usando o prefixo Crosstable.
Nota informativaPara saber mais sobre Crosstable, consulte esta postagem de blog no Qlik Community: The Crosstable Load (A carga de crosstable). Os comportamentos são discutidos no contexto do QlikView. No entanto, a lógica se aplica igualmente ao Qlik Sense.

A interpretação numérica não funcionará para os campos de atributo. Isto significa que se existirem meses como cabeçalhos de coluna, eles não serão interpretados automaticamente. A solução alternativa é usar o prefixo Crosstable para criar uma tabela temporária e executar uma segunda passagem por meio dela para fazer as interpretações como mostrado no exemplo a seguir.

Observe que este é apenas um exemplo. Não há exercícios a serem concluídos no Qlik Sense.

tmpData: Crosstable (MonthText, Sales) LOAD Product, [Jan 2014], [Feb 2014], [Mar 2014], [Apr 2014], [May 2014], [Jun 2014] FROM ... Final: LOAD Product, Date(Date#(MonthText,'MMM YYYY'),'MMM YYYY') as Month, Sales Resident tmpData; Drop Table tmpData;

Limpando o cache de memória

Você pode excluir as tabelas criadas para limpar o cache da memória. Ao carregar em uma tabela temporária, como na seção anterior, você deve descartá-la quando ela não for mais necessária. Por exemplo:

DROP TABLE Table1, Table2, Table3, Table4; DROP TABLES Table1, Table2, Table3, Table4;

Você também pode soltar campos. Por exemplo:

DROP FIELD Field1, Field2, Field3, Field4; DROP FIELDS Field1, Field2, Field3, Field4; DROP FIELD Field1 from Table1; DROP FIELDS Field1 from Table1;

Como você pode ver, as palavras-chave TABLE e FIELD podem ser singulares ou plurais.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!