Transformations de valeurs

Comment modifier les données avant export : remplacements, nettoyage de texte, chaînes de règles, calculs, valeurs par défaut et nouveaux champs.

Les transformations de valeurs modifient les données du fichier source avant leur écriture dans le format final. Elles s’appliquent lorsqu’il faut supprimer des caractères inutiles, normaliser un SKU, composer un nom depuis plusieurs champs, mettre le prix au bon format, remplir une valeur par défaut ou préparer les données selon les exigences d’un site, ERP, CMS, marketplace ou d’autres applications.

Comment effectuer une transformation

Le bloc Transformations se trouve dans les paramètres d’une valeur, d’un champ, d’un noeud ou d’une colonne. Sélectionnez d’abord une valeur dans le snapshot ou la table, puis ouvrez ses paramètres et ajoutez une ou plusieurs règles.

  1. Ouvrez le profil et allez au snapshot ou à l’éditeur de structure.
  2. Sélectionnez le champ résultat : par exemple sku, price, name, une colonne de table ou un champ du catalogue consolidé.

Dans l’éditeur de table, la transformation s’ouvre depuis la colonne résultat. Cliquez sur l’en-tête ou la cellule nécessaire, puis ouvrez les paramètres de valeur.

Animation d’ouverture de la fenêtre des transformations dans l’éditeur de table
Un clic sur les paramètres de la colonne price ouvre la vraie fenêtre de colonne avec le bloc Transformations.

Dans l’éditeur XML, sélectionnez le noeud ou l’attribut qui ira dans le résultat. Après le clic, la fenêtre de paramètres de cette valeur s’ouvre.

Animation d’ouverture de la fenêtre des transformations dans l’éditeur XML
Un clic sur un noeud XML ouvre les paramètres de valeur, où vous pouvez ajouter une règle de transformation.

Dans l’éditeur JSON, sélectionnez une clé ou une valeur dans l’arbre résultat. Les paramètres s’ouvrent pour le bloc JSON sélectionné.

Animation d’ouverture de la fenêtre des transformations dans l’éditeur JSON
Un clic sur un champ JSON ouvre la même fenêtre de transformations pour la valeur sélectionnée.

Dans le catalogue consolidé, la transformation s’ouvre depuis la liaison du champ catalogue. Cliquez sur le champ choisi, par exemple "Nom [NAME]" ou "SKU [SKU]", puis ouvrez les paramètres de valeur.

Animation d’ouverture de la fenêtre des transformations dans le catalogue consolidé
Un clic sur un champ du catalogue consolidé ouvre la même fenêtre de paramètres avec le bloc Transformations.
  1. Ouvrez les paramètres de valeur et ajoutez une règle dans le bloc Transformations.
  2. Enregistrez les paramètres et vérifiez l’aperçu sur plusieurs lignes ou produits.
Ligne de règle de transformation SKU avec action et résultat encadrés
Dans cet exemple, la règle vérifie le SKU courant, recherche un tiret et le remplace par une valeur vide.

Ce que contient une règle

Une règle se lit comme une phrase : quelle valeur vérifier, sous quelle condition exécuter l’action et quoi écrire dans le résultat. Si la condition ne correspond pas, la valeur actuelle continue sans modification.

Partie de la règleSignificationExemple
Valeur à vérifierIl s’agit souvent du champ courant. Dans les réglages avancés, la règle peut vérifier un noeud voisin, une colonne ou un autre champ produit.{/catalog/product/stock}
ConditionDécide quand la règle s’exécute : toute valeur, vide, non vide, contient du texte, supérieur à un nombre, etc.supérieur à 100
ActionDéfinit quoi faire : remplacer, nettoyer, ajouter du texte, calculer, arrondir ou arrêter le chargement du champ.augmenter de %
Résultat ou paramètreDéfinit le nouveau texte, nombre, pourcentage, précision d’arrondi ou autre paramètre de l’action.12

Chaînes de règles

Un champ peut contenir plusieurs règles. Elles s’exécutent de haut en bas : le résultat de la première règle devient l’entrée de la suivante. L’ordre est donc important.

Animation d’ajout d’une chaîne de règles de transformation pour un nom produit

Par exemple, il est souvent préférable de préparer un prix par chaîne : d’abord nettoyer la valeur des espaces inutiles, appliquer la marge, vérifier une condition de stock, puis arrondir seulement à la fin.

Transformations séquentielles de prix avec vérification du champ voisin stock
La troisième règle vérifie la valeur voisine stock. Le prix peut ainsi changer selon un autre champ de la même ligne.

Ce que les transformations peuvent faire

  • nettoyer le texte du HTML, des espaces en trop, retours à la ligne et caractères de service ;
  • remplacer des fragments, par exemple supprimer les tirets du SKU ou changer un ancien nom de catégorie ;
  • ajouter un préfixe, suffixe ou une valeur depuis un autre champ ;
  • composer un champ final depuis plusieurs valeurs source ;
  • convertir le texte en majuscules ou minuscules ;
  • transformer nombres, dates et prix ;
  • calculer marge, remise, coefficient fournisseur ou prix final ;
  • arrondir les valeurs à la fin de la chaîne ;
  • créer des valeurs par défaut pour les champs vides ;
  • arrêter le chargement d’un champ précis lorsqu’il ne doit plus apparaître dans le résultat.

Tous les opérateurs de transformation

Une règle contient deux groupes d’opérateurs : l’opérateur de condition décide quand la règle s’exécute, et l’opérateur d’action modifie la valeur ou le paramètre du champ. Les opérateurs peuvent être combinés en chaînes et vérifier non seulement la valeur courante, mais aussi les champs voisins du même enregistrement.

Opérateurs de condition

OpérateurFonctionnement
ToutLa règle s’exécute toujours et ne vérifie pas le contenu du champ.
Égal / DifférentVérifie si la valeur est égale au paramètre ou différente de celui-ci.
Supérieur à / Inférieur à / Supérieur ou égal / Inférieur ou égalCompare des valeurs numériques.
Contient la sous-chaîne / Ne contient pas la sous-chaîneVérifie si la valeur contient le fragment de texte indiqué.
Commence par / Se termine parVérifie le début ou la fin de la chaîne.
Vide / Non videS’exécute pour les valeurs vides ou remplies.
Expression régulière / Pas une expression régulièreVérifie la valeur avec une expression régulière. Pratique pour les nombres, lettres, préfixes, SKU et codes.

Opérateurs d’action

OpérateurFonctionnement
Remplacer parRemplace entièrement la valeur courante par le texte, le nombre ou la valeur d’un autre champ indiqué.
Ajouter au début / Ajouter à la finAjoute un texte, préfixe, suffixe ou jeton d’un autre champ au début ou à la fin de la valeur courante.
Convertir la dateConvertit une date au format nécessaire.
Collecter les valeurs par chemin / Additionner les valeurs par cheminUtilisé dans l’éditeur XML pour collecter ou additionner des valeurs de noeuds répétés selon le chemin indiqué.
Remplacer la sous-chaîneRemplace un fragment par un autre. Le paramètre se saisit au format chercher=>remplacer.
Supprimer la sous-chaîneSupprime le fragment indiqué de la valeur, par exemple des tirets, espaces ou un préfixe technique.
Supprimer après / Supprimer avant / Tout supprimer saufDécoupe la valeur par rapport au fragment trouvé : garder la partie avant, après ou uniquement le fragment trouvé. Fonctionne avec Contient la sous-chaîne, Commence par, Se termine par et les expressions régulières.
Supprimer les espaces aux bords / Supprimer les espaces / Réduire les doubles espacesSupprime les espaces aux extrémités, tous les espaces ou réduit plusieurs espaces à un seul.
Supprimer les balises HTMLSupprime les balises HTML des descriptions et autres champs texte.
Minuscules / Majuscules / Première lettre en majuscule / Chaque mot avec majusculeChange la casse du texte.
TranslittérationTranslittère le cyrillique en latin, utile pour les codes, parties d’URL et champs techniques.
ArrondirArrondit un nombre avec la précision et les règles indiquées.
Multiplier / Diviser / Ajouter / SoustraireExécute une opération mathématique sur un nombre.
Augmenter de % / Diminuer de %Ajoute ou retranche un pourcentage de la valeur courante, par exemple pour une marge ou une remise.
Ne pas exporter le champVide le résultat du champ : la valeur sélectionnée n’apparaît pas dans l’export final.
IgnorerNe change rien et transmet la valeur courante à la suite de la chaîne. Utile comme branche conditionnelle.

Expressions régulières

Les expressions régulières sont utilisées dans la condition Expression régulière et dans les opérateurs de découpe. Saisissez le modèle sans délimiteurs /.../ : le service l’applique automatiquement à la valeur. Par défaut, la casse n’est pas prise en compte ; si la sensibilité à la casse est activée, minuscules et majuscules seront distinguées.

TâcheModèleApplication
Garder uniquement les chiffres de SKU-123-A\d+Utilisez Expression régulière avec Tout supprimer sauf pour obtenir 123. Cela supprime en pratique les lettres et caractères inutiles autour du nombre.
Garder uniquement les lettres de AB-123[A-Za-zА-Яа-яЁё]+Utilisez Expression régulière avec Tout supprimer sauf pour obtenir AB.
Trouver une valeur qui commence par un préfixe temporaire^TMP-Utilisez Expression régulière pour traiter uniquement les SKU temporaires.
Vérifier un prix décimal\d+([.,]\d+)?Utile avant les actions mathématiques et l’arrondi.
Trouver des espaces en trop\s{2,}Détectez d’abord ces lignes avec une expression régulière, puis appliquez Réduire les doubles espaces.

La base des expressions régulières est large : vous pouvez utiliser des plages de caractères, des classes comme \d et \s, le début de ligne ^, la fin de ligne $, des groupes et des répétitions. Testez les modèles complexes dans l’aperçu : si l’expression est invalide, la règle ne s’exécutera pas.

Valeurs par défaut et nouveaux champs

Les transformations ne servent pas seulement aux valeurs existantes. Un nouveau champ peut recevoir une valeur de base, puis d’autres règles peuvent la remplacer selon des conditions. Par exemple, Classe produit commence avec Prix moyen, puis des règles peuvent le remplacer par Budget ou Premium selon le prix.

Nouveau champ Classe produit avec une règle de valeur par défaut
Le champ n’a pas besoin d’exister dans la source. Il est créé dans le profil et rempli par les règles.

Transformation ou condition d’export

Une transformation modifie une valeur. Une condition d’export décide si un champ, une ligne, un produit ou un élément apparaît dans le résultat. Pour supprimer tout le produit, utilisez les conditions d’export. Pour modifier un seul champ, utilisez une transformation de valeur.

TâcheÀ utiliser
Supprimer un tiret du SKU tout en gardant le produitTransformation de valeur pour le champ SKU
Ne pas exporter une description devenue vide après nettoyageTransformation de nettoyage plus condition de champ après transformations
Ne pas exporter tout le produit lorsque le prix est zéroCondition d’export pour l’élément ou le produit
Calculer un prix avec marge et arrondiChaîne de règles pour le champ prix

Comment vérifier le résultat

  1. Enregistrez les paramètres du champ.
  2. Ouvrez l’aperçu ou une exécution de test du profil.
  3. Vérifiez une valeur normale, une valeur vide et un exemple inhabituel de la source.
  4. S’il y a plusieurs règles, gardez temporairement une seule règle et testez-la séparément.
  5. Après un changement d’ordre des règles, vérifiez de nouveau la valeur finale.
  • N’utilisez pas un nettoyage trop agressif sans vérifier des exemples réels : une partie utile du nom ou du SKU peut disparaître.
  • Exécutez les actions mathématiques après le nettoyage du nombre et gardez l’arrondi pour la fin.
  • Si une règle utilise un autre champ, vérifiez les lignes où ce champ est vide ou absent.
  • Pour supprimer tout l’enregistrement, utilisez les conditions d’export plutôt que remplacer la valeur par du texte vide.