QlikView - Mantém
O comando keep no QlikView é usado para combinar dados de dois conjuntos de dados, mantendo ambos os conjuntos de dados disponíveis na memória. É muito semelhante às junções que abordamos no capítulo anterior, exceto por duas diferenças principais. A primeira diferença é - no caso de manter; ambos os conjuntos de dados estão disponíveis na memória do QlikView, enquanto em join, as instruções load produzem apenas um conjunto de dados a partir do qual você deve escolher as colunas. A segunda diferença é - não existe o conceito de guarda externa, pois temos junção externa disponível no caso de junções.
Dados de entrada
Vamos considerar os dois arquivos de dados CSV a seguir, que são usados como entrada para ilustrações adicionais.
Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts
Product Sales:
ProductID,ProductCategory,SaleAmount
4,Athletics,1212
5,Personal Care,5211
6,Hobbies & Creative Arts,1021
7,Display Board,2177
8,Game,1145
9,soap,1012
10,Beverages & Tobacco,2514
Fortaleza Interior
Carregamos os dados de entrada acima usando o editor de script, que é invocado pressionando Control+E. Escolha a opçãoTable Filese navegue até o arquivo de entrada. Em seguida, editamos os comandos no script para criar uma fortaleza interna entre as tabelas.
O Inner Keep busca apenas as linhas, que estão presentes em ambas as tabelas. Neste caso, as linhas disponíveis emboth Product List and Product Salestabela são buscados. Nós criamos uma Table Boxes usando o menuLayout → New Sheet Objects → Table Box.
Primeiro, escolhemos apenas o productSales tabela, que nos fornece os campos - ProductID, ProductCategory e SaleAmount a serem exibidos.
Em seguida, escolhemos o ProductList conjunto de dados, que nos fornece os campos ProductID e ProductCategory.
Finalmente, escolhemos o All Tables opção e obter todos os campos disponíveis de todas as tabelas.
O relatório a seguir mostra todas as Caixas de Tabelas das etapas fornecidas acima.
Left Keep
A manutenção à esquerda é semelhante à junção à esquerda, que mantém todas as linhas da tabela à esquerda junto com o conjunto de dados disponível na memória do QlikView.
Deixe o Script
O script a seguir é usado para criar os conjuntos de dados resultantes com o comando left keep.
productsales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
left keep(productsales)
productlists:
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Deixou manter os dados
Quando alteramos o script como acima e atualizamos os dados no relatório usando Control+R, obtemos os seguintes dados nos objetos de pasta.
Right Keep
Manter à direita é semelhante à junção à esquerda, que mantém todas as linhas da tabela à direita junto com o conjunto de dados disponível na memória do QlikView.
Right Keep Script
O script a seguir é usado para criar os conjuntos de dados resultantes com o comando left keep.
productsales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
right keep(productsales)
productlists:
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Dados de manutenção da direita
Quando alteramos o script como acima e atualizamos os dados no relatório usando Control+R, obtemos os seguintes dados nos objetos de pasta.