Transformer les colonnes d'un modèle de données

Last modified by Aurelie Bertrand on 2024/06/03 16:10


Il est possible de transformer les colonnes d'un modèle de données existant et de créer ainsi un nouveau modèle de données.
Cela permet :

  • de transformer les données en entrée : remplacer une valeur par une autre, compléter des valeurs manquantes, rajouter des majuscules, etc
  • d'ajouter de nouvelles colonnes de données basées sur les colonnes existantes : libellé court, code correspondant à la valeur de la colonne, etc
  • de concaténer des colonnes.

Sélection et prévisualisation des données

  1. Dans la boite Création d'un nouveau modèle de données, cliquez sur le bouton Transformateur de colonnes.... de la section Transformateurs.
    Bouton_transformateur_colonnes
    La boîte de dialogue Transformer les colonnes d'un autre modèle de données s'affiche.
     
  2. Cliquez sur Sélectionner pour choisir le modèle de données à transformer : le contenu du modèle de données s'affiche dans la section Prévisualisation.
    Bouton_transformateur_colonnes
     
  3. Dans la section Sélection des données, vous pouvez:
    • Spécifier un Nombre de lignes maximum.
    • Ajouter une ou plusieurs règles pour les lignes : par exemple, Sélectionner la ligne lorsque la Date n'est pas vide.
      Regle
  4. Dans la section Prévisualisation, vous pouvez : 
    • Spécifier un Nombre de lignes maximum pour la prévisualisation.
    • Ajouter des colonnes vides : pour les remplir avec des colonnes résultant de la transformation des données.
    • Cliquer sur le bouton Actions pour gérer l'activation globale des colonnes.
      Bouton_Actions
    • Cliquer sur le bouton Bouton_caracteres_speciauxpour activer la détection des caractères spéciaux : les cellules avec caractères spéciaux seront affichées en rouge et les caractères spéciaux seront remplacés temporairement.

Vous pouvez également désactiver (ou activer) une colonne individuellement:

  • Cliquez sur l'en-tête de la colonne et décochez (ou cochez) Activé (via un clic).

Transformation des colonnes

  1. Cliquez sur l'en-tête de la colonne que vous souhaitez transformer (ici Département) puis, dans le menu contextuel qui s'affiche, cliquez sur Transformation des données.
    Menu_transfo_colonnes
    ➡ La boite de dialogue Transformation de la colonne "Nom de la colonnes'affiche.

Afin de conserver la colonne initiale ou si vous souhaitez renommer la colonne résultant de la transformation des données, utilisez la commande Dupliquer via le menu contextuel de l'en-tête de colonne. Vous pourrez ainsi appliquer les modifications sur une copie de la colonne.

  1. Dans la liste déroulante Type, sélectionnez le type de transformation :
    • Script : entrez alors une fonction Javascript;
    • Fonction partagée : sélectionnez une fonction Javascript parmi les fonctions partagées existantes;
    • Transformation paramétrable : sélectionnez une fonction Javascript partagée paramétrable.
      Type_transformation

Type de transformation : Script

Lorsque les traitements à réaliser sont particuliers, la création d’un script est nécessaire.

Entrez la fonction Javascript de transformation de la colonne.
Vous pouvez visualiser le résultat de la fonction de transformation directement dans la section Prévisualisation (avant validation).

Vous pouvez utiliser les variables disponibles :

  • value : renvoie la valeur courante dans la colonne pour chacune des lignes;
  • values : renvoie les valeurs dans la colonne (position de la colonne).
    Par exemple, values [2] renvoie le contenu de la troisième colonne (on commence à zéro).
  • col : renvoie l'index de la colonne en cours de transformation;
  • row : renvoie l'index de la ligne en cours de transformation;
  • rawValue : renvoie la valeur "brute" courante dans la colonne pour chacune des lignes (sans interprétation par DigDash);
  • rawValues : renvoie les valeurs dans la colonne (position de la colonne)  dans leur format "brut".
  • namedValues : renvoie les valeurs dans la colonne (nom de la colonne).
    Par exemple, namedValues["Age"] renvoie le contenu de la colonne "Age".
  • namedRawValues : renvoie les valeurs dans la colonne (nom de la colonne) dans leur format "brut".

Par exemple, nous souhaitons remplacer dans les données en entrée, la valeur “Finance” par la valeur “Comptabilité” pour la dimension “Département”.

1699276516364-346.png

Resultat_script

Cas d'usage

BesoinSolution
Récupérer la cellule courante d’une autre colonnereturn values[INDEX_OF_COLUMN]
Récupérer le contenu de la cellule courantereturn value;
Selon la valeur d’une cellule, je retourne X, sinon je retourne Y.

Si la valeur se situe dans une autre colonne mais sur la même ligne

if(values[INDEX_OF_COLUMN] == “Fixe”){
    return “X”;
}else if(values[INDEX_OF_COLUMN] == “Mobile”){
    return “Y”;
}
Effectuer un traitement sur des lignes particulières
Exemple : Sur les 10 premières lignes, je retourne “X”. A partir de la 11ème, je retourne “Y”
if(row <=10){
    return “X”;
}else{
    return “Y”;
}

Compter le nombre de lignes retournées par la source de données.

return 1; (or return row, then DCOUNT it)

Calculer la différence en jour entre deux dates

var difference = values["END_DATE_INDEX"].getTime() - values["START_DATE_INDEX"].getTime();
var diffInDays = Math.floor(difference/1000/60/60/24);
difference = diffInDays*1000*60*60*24;
return difference;

Type de transformation : Fonction partagée

DigDash fournit nativement une série de fonctions utiles.

Fonction_partagee

Vous pouvez :

  • sélectionner une fonction partagée parmi les fonctions existantes ;
     
  • ajouter une nouvelle fonction :
    1. Cliquez sur le bouton +  : la boite Nouveau s'affiche.
    2. Conservez le type Transformation de colonnes.
    3. Entrez le Nom de la fonction.
    4. Dans la liste déroulante Rôle, sélectionnez le rôle auquel vous souhaitez restreindre l'accès à la fonction ou Aucun ppour la partager avec tous les rôles.
    5. Cliquez sur OK pour l'ajouter à la liste des fonctions partagées.
    6. Entrez ensuite la fonction Javascript.
      Nouvelle_fonction_partagee
       
  • dupliquer une fonction :
    1. Cliquez sur le bouton Bouton_dupliquer  : la boite Nouveau s'affiche.
    2. Entrez le Nom de la fonction.
    3. Dans la liste déroulante Rôle, sélectionnez le rôle auquel vous souhaitez restreindre l'accès à la fonction ou Aucun ppour la partager avec tous les rôles.
    4. Cliquez sur OK pour l'ajouter à la liste des fonctions partagées.
    5. Modifiez ensuite la fonction Javascript pour obtenir le résultat souhaité.

Les fonctions partagées sont gérées depuis le Gestionnaire des fonctions partagées.

Vous pouvez accéder à l'interface d'Edition multilangue et modifier la valeur affichée dans les différentes langues en cliquant sur le bouton correspondant Bouton_edition_multilangue. Consultez la page Traduire le nom d'un objet pour plus de détails.

Type de transformation : Transformation paramétrable

Une seule transformation paramétrable est disponible : la Concaténation de colonnes. Comme son nom l'indique, elle permet de combiner les valeurs de deux colonnes dans une seule colonne avec l'utilisation d'un séparateur.

  1. Sélectionnez les colonnes à concaténer et entrez a minima le séparateur des colonnes.
  2. Vous pouvez également ajouter un préfixe et un suffixe.

La transformation peut être éditée dans le Gestionnaire des fonctions partagées en cliquant sur bouton Bouton_editer_fonction

Exemple : concaténation des colonnes Coût par minute et Coût de communication.

Concatenation

Les valeurs des deux colonnes Coût par minute et Coût de communication sont ainsi concaténées dans une seule colonne avec le séparateur /.

Colonne_resultante