Transformer les colonnes d'un modèle de données
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
- Dans la boite Création d'un nouveau modèle de données, cliquez sur le bouton Transformateur de colonnes.... de la section Transformateurs.
La boîte de dialogue Transformer les colonnes d'un autre modèle de données s'affiche.
- 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.
- 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.
- 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.
- Cliquer sur le bouton
pour 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
- 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.
➡ La boite de dialogue Transformation de la colonne "Nom de la colonne" s'affiche.
- 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 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”.
Cas d'usage
Besoin | Solution |
---|---|
Récupérer la cellule courante d’une autre colonne | return values[INDEX_OF_COLUMN] |
Récupérer le contenu de la cellule courante | return 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.
Vous pouvez :
- sélectionner une fonction partagée parmi les fonctions existantes ;
- ajouter une nouvelle fonction :
- Cliquez sur le bouton + : la boite Nouveau s'affiche.
- Conservez le type Transformation de colonnes.
- Entrez le Nom de la fonction.
- 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.
- Cliquez sur OK pour l'ajouter à la liste des fonctions partagées.
- Entrez ensuite la fonction Javascript.
- dupliquer une fonction :
- Cliquez sur le bouton
: la boite Nouveau s'affiche.
- Entrez le Nom de la fonction.
- 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.
- Cliquez sur OK pour l'ajouter à la liste des fonctions partagées.
- Modifiez ensuite la fonction Javascript pour obtenir le résultat souhaité.
- Cliquez sur le bouton
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 . 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.
- Sélectionnez les colonnes à concaténer et entrez a minima le séparateur des colonnes.
- Vous pouvez également ajouter un préfixe et un suffixe.
Exemple : concaténation des colonnes Coût par minute et Coût de communication.
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 /.