Accéder au contenu principal

Transformation des données

SUR CETTE PAGE

Transformation des données

Vous pouvez transformer et manipuler les données en utilisant de nombreuses techniques différents dans l'éditeur de chargement de données.

Entre autres avantages, la manipulation de données permet de décider de ne charger qu'un sous-ensemble de données d'un fichier, par exemple quelques colonnes d'une table, afin d'optimiser le traitement des données. Vous pouvez également charger les données plus d'une fois afin de diviser les données brutes en plusieurs nouvelles tables logiques. Il est également possible de charger des données provenant de plusieurs sources et de les fusionner dans une table au sein de Qlik Sense.

Dans cette rubrique, vous allez effectuer une transformation de données de base en utilisant une instruction Resident load, puis une instruction load Preceding.

Resident LOAD

Vous pouvez utiliser le qualificateur source Resident dans une instruction LOAD pour charger des données à partir d'une table déjà chargée. Cela s'avère utile lorsque vous souhaitez effectuer des calculs à partir des données chargées au moyen d'une instruction SELECT et que vous ne pouvez pas utiliser les fonctions de Qlik Sense telles que la manipulation des dates ou des valeurs numériques.

Dans cet exemple, vous allez créer une nouvelle table appelée Sales_Buckets, puis charger les données depuis Table1 à l'aide d'une instruction Resident load. Dans la table Sales_Buckets, vous allez créer une variable appelée quantity_threshold, puis utiliser une instruction Where pour uniquement charger des données qui correspondent à ce seuil.

  1. Ouvrez l'éditeur de chargement de données dans l'application Scripting Tutorial.
  2. Cliquez sur l'onglet Sales.
  3. Ajoutez ce qui suit à la fin du script :
  4. 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)); 

    Le script devrait avoir l'aspect suivant :

    Fenêtre de script de chargement avec script pour créer une table appelée Sales_Buckets
    Load script window with script to create new table called Sales_Buckets.

  5. Cliquez sur Charger les données.
  6. Ouvrez le Visionneur de modèle de données. Vous pouvez voir que vous avez créé une table appelée Sales_Buckets avec les données chargées en fonction des champs que vous avez spécifiés et du seuil que vous avez défini.
  7. Table Sales_Buckets dans le visionneur de modèle de données
    Sales_Buckets table in data model viewer.

  8. Ajoutez les données à une table de votre application. Ajoutez Item et Customer comme dimensions. Ajoutez High-Quantity comme mesure agrégée sur Count, puis agrégée de nouveau sur Sum. Ensuite, ajoutez une nouvelle colonne comme mesure avec la formule suivante :
  9. = Sum(High_Quantity) / Count(High_Quantity)

    Nouvelle mesure avec formule
    New measure with formula.

    Votre table affiche, par exemple, que Customer 10025737 a effectué 4 commandes importantes de champignons séchés de qualité supérieure, avec une quantité moyenne de 14 800. Pour effectuer les tris sur les données dans les champs, fermez le mode d'édition en cliquant sur Terminé.

    Table affichant les clients ayant effectué des commandes importantes
    Table showing customers that have made large orders.

  10. À présent que nous avons terminé cet exemple, commentez le script pour la variable quantity_threshold et la table Sales_Buckets.
  11. La fin de votre script doit maintenant apparaître comme suit :

    Script commenté
    Commented out script.

LOAD antérieure

Une instruction load antérieure vous permet d'effectuer des transformations et d'appliquer des filtres afin de charger des données en une seule fois. En bref, il s'agit d'une instruction LOAD chargée à partir de l'instruction LOAD ou SELECT située en dessous, sans que vous deviez spécifier un qualificateur source, tel que From ou Resident, comme vous le feriez habituellement. Vous pouvez ainsi empiler autant d'instructions LOAD que vous le souhaitez. L'instruction située au bas de la pile sera évaluée en premier, puis l'instruction au-dessus, jusqu'à l'instruction figurant en haut de la pile.

Comme indiqué plus tôt dans ce didacticiel, vous pouvez charger des données dans Qlik Sense en utilisant les instructions LOAD et SELECT. Chacune de ces instructions génère une table interne. L'instruction LOAD permet de charger des données à partir de fichiers ou d'une table inline, tandis que l'instruction SELECT procède à partir de bases de données. Vous avez utilisé des fichiers de données dans ce didacticiel. Dans cet exemple, vous utiliserez une table inline. Cependant, notez qu'une instruction load antérieure peut être utilisée au-dessus d'une instruction SELECT pour manipuler vos données. Les bases sont les mêmes comme vous le verrez ici en utilisant LOAD.

Cet exemple n'a aucun rapport avec les données chargées dans ce didacticiel. Il ne sert qu'à illustrer ce à quoi ressemble une instruction load antérieure. Vous allez créer une table inline dans l'éditeur de chargement de données appelé Transactions. L'interprétation de date sera effectuée dans l'instruction LOAD antérieure, où un nouveau champ appelé transaction_date sera créé. Ce champ est créé à partir du champ sale_date.

  1. Créez une application et appelez-la ReformatDate.
  2. Ouvrez l'éditeur de chargement de données, puis créez un onglet appelé TransactionData.
  3. Ajoutez le script suivant :
  4. 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 ];

    Le script devrait avoir l'aspect suivant :

    Script de chargement avec une instruction load antérieure
    Load script with preceding load.

  5. Cliquez sur Charger les données.
  6. Ouvrez le Visionneur de modèle de données. Sélectionnez et développez la table Transactions. Vous pouvez voir que tous les champs ont été chargés comme spécifié par le symbole * dans l'instruction load antérieure. Un champ appelé transaction_date a été créé. Le champ a une date reformatée.
  7. Nouveau champ appelé transaction_date dans le visionneur de modèle de données
    New field called transaction_date in data model viewer.