QlikView - Conserve

La commande keep dans QlikView est utilisée pour combiner les données de deux ensembles de données en conservant les deux ensembles de données disponibles en mémoire. Il est très similaire aux jointures que nous avons couvertes dans le chapitre précédent, à l'exception de deux différences majeures. La première différence est - en cas de conservation; les deux ensembles de données sont disponibles dans la mémoire de QlikView, tandis que dans join, les instructions de chargement ne produisent qu'un seul ensemble de données dans lequel vous devez choisir les colonnes. La deuxième différence étant - il n'y a pas de concept de donjon externe où nous avons une jointure externe disponible en cas de jointure.

Des données d'entrée

Considérons les deux fichiers de données CSV suivants, qui sont utilisés comme entrée pour d'autres illustrations.

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

Donjon intérieur

Nous chargeons les données d'entrée ci-dessus à l'aide de l'éditeur de script, qui est appelé en appuyant sur Control+E. Choisissez l'optionTable Fileset recherchez le fichier d'entrée. Ensuite, nous éditons les commandes dans le script pour créer un donjon interne entre les tables.

La conservation interne ne récupère que les lignes présentes dans les deux tables. Dans ce cas, les lignes disponibles dansboth Product List and Product Salestable sont récupérés. Nous créons une Table Boxes en utilisant le menuLayout → New Sheet Objects → Table Box.

Tout d'abord, nous choisissons uniquement le productSales table, qui nous donne les champs - ProductID, ProductCategory et SaleAmount à afficher.

Ensuite, nous choisissons le ProductList ensemble de données, qui nous donne les champs ProductID et ProductCategory.

Enfin, nous choisissons le All Tables option et obtenez tous les champs disponibles de toutes les tables.

Le rapport suivant montre toutes les boîtes de tableaux des étapes ci-dessus.

Donjon gauche

La conservation à gauche est similaire à la jointure à gauche, qui conserve toutes les lignes de la table de gauche avec l'ensemble de données disponible dans la mémoire de QlikView.

Garder le script à gauche

Le script suivant est utilisé pour créer les ensembles de données résultants avec la commande keep left.

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);

Garder les données à gauche

Lorsque nous modifions le script comme ci-dessus et actualisons les données dans le rapport en utilisant Control+R, nous obtenons les données suivantes dans les objets de la feuille.

Donjon droit

La conservation à droite est similaire à la jointure à gauche, qui conserve toutes les lignes de la table de droite avec l'ensemble de données disponible dans la mémoire de QlikView.

Right Keep Script

Le script suivant est utilisé pour créer les ensembles de données résultants avec la commande keep left.

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);

Garder les données à droite

Lorsque nous modifions le script comme ci-dessus et actualisons les données dans le rapport en utilisant Control+R, nous obtenons les données suivantes dans les objets de la feuille.