Transformando dados
Você pode transformar e manipular dados usando muitas técnicas diferentes no Editor da carga de dados.
Uma das vantagens da manipulação de dados é que você pode escolher carregar apenas um subconjunto dos dados de um arquivo, como algumas colunas escolhidas de uma tabela, para tornar o manuseio de dados mais eficiente. Você também pode carregar os dados mais de uma vez para dividir os dados brutos em diversas novas tabelas lógicas. Também é possível carregar dados de mais de uma fonte e mesclá-los em uma tabela no Qlik Sense.
Neste tópico, você executará algumas transformações básicas de dados usando uma carga Resident e, em seguida, uma carga Preceding.
Resident LOAD
Você pode usar o qualificador de fonte Resident em um comando LOAD para carregar dados de uma tabela anteriormente carregada. Isso será útil quando você quiser fazer cálculos nos dados carregados com um comando SELECT que não oferece a opção de utilizar as funções do Qlik Sense, como manipulação do valor de data ou numérico.
Neste exemplo, você criará uma nova tabela chamada Sales_Buckets e carregará os dados do Table1 usando uma carga residente. Na tabela Sales_Buckets, você criará uma variável chamada quantity_threshold e, em seguida, usará um comando Where para carregar apenas dados que atendam a esse limite.
- Abra o editor de carregamento de dados no aplicativo Scripting Tutorial.
- Clique na guia Sales.
- Adicione o seguinte ao final do script:
- Clique em Carregar dados.
- Abra o Visualizador do modelo de dados. Você pode ver que criou uma nova tabela chamada Sales_Buckets com os dados carregados de acordo com os campos que você especificou e o limite que você definiu.
- Adicione os dados a uma tabela no seu aplicativo. Adicione Item e Customer como dimensões. Adicione High-Quantity como uma medida agregada em Count e, em seguida, novamente agregada em Sum. Em seguida, adicione uma nova coluna como uma medida com a seguinte fórmula:
- Agora que concluímos este exemplo, comente o script para a variável quantity_threshold e a tabela Sales_Buckets.
SET quantity_threshold = 12000;
Sales_Buckets:
LOAD
"Sales Qty" as "High_Quantity",
"Item Description" as "Item",
"Customer Number" as "Customer"
Resident Table1
Where ("Sales Qty" > $(quantity_threshold));
Seu script deve ter a seguinte aparência:
= Sum(High_Quantity) / Count(High_Quantity)
Sua tabela mostra, por exemplo, que Customer 10025737 fez 4 pedidos grandes de cogumelos secos com cobertura, com uma quantidade média de 14.800. Para realizar classificações nos dados dos campos, feche o modo Editar clicando em Concluído.
O final do seu script agora deve ter a seguinte aparência:
LOAD anterior
Uma carga anterior permite executar transformações e aplicar filtros para que você possa carregar dados em uma única passagem. Basicamente, é um comando LOAD carregado do comando LOAD ou SELECT abaixo, sem especificar um qualificador de origem, como From ou Resident, como você faria normalmente. É possível empilhar qualquer número de instruções LOAD dessa maneira. O comando no final será avaliada primeiro, seguido pela declaração acima e assim por diante até que a primeira declaração tenha sido avaliada.
Conforme mencionado anteriormente neste tutorial, você pode carregar dados Qlik Sense usando no usando os comandos LOAD e SELECT. Cada um desses comandos gera uma tabela interna. LOAD é usado para carregar dados de arquivos ou de uma tabela inline, enquanto SELECT é usado para carregar dados de bancos de dados. Você usou dados de arquivos neste tutorial. Neste exemplo, você usará uma tabela inline. No entanto, é importante notar que uma carga anterior pode ser usada acima de um comando SELECT para manipular os dados. O básico é o mesmo que você verá aqui usando LOAD.
Esse exemplo não está relacionado aos dados que estamos carregando neste tutorial. Está sendo usado apenas para exibir um exemplo de como uma carga anterior pode ser. Você criará uma tabela inline no editor de carregamento de dados chamada Transações. A interpretação da data será realizada em LOAD anterior, onde um novo campo chamado transaction_date será criado. Este campo é criado a partir do campo sale_date.
- Crie um novo aplicativo e chame-o de ReformatDate.
- Abra o editor de carregamento de dados e crie uma nova guia chamada TransactionData.
- Adicione o seguinte script:
- Clique em Carregar dados.
- Abra o Visualizador do modelo de dados. Selecione e expanda a tabela Transações. Você pode ver que todos os campos foram carregados conforme especificado pelo * no comando de LOAD anterior. Um novo campo chamado transaction_date foi criado. O campo tem a data reformatada.
Transactions:
Load *,
Date(Date#(sale_date,'YYYYMMDD'),'DD/MM/YYYY') as transaction_date;
Load * Inline [ transaction_id, sale_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, m, orange
3752, 20180916, 5.75, 1, 5646471, S, blue
3753, 20180922, 125.00, 7, 3036491, l, Black
3754, 20180922, 484.21, 13, 049681, xs, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black ];
Seu script deve ter a seguinte aparência: