Accéder au contenu principal Passer au contenu complémentaire

Définir une valeur basée sur plusieurs conditions

Utilisez les fonctions imbriquées IfThenElse avec les fonctions And, Equal, Greater et Lesserpour définir la valeur d'un élément en vous basant sur plusieurs conditions.

Avant de commencer

Vous avez créé une map avec une structure d'entrée et de sortie. Vous pouvez utiliser les échantillons fournis ci-dessous.

Pourquoi et quand exécuter cette tâche

Dans cet exemple, vous avez un fichier JSON contenant une liste d'éléments, avec leur ID et le nombre d'éléments en stock. Vous souhaitez créer une sortie CSV avec l'ID de l'élément et un statut relatif au nombre d'éléments en stock : out of stock si le nombre est 0, low stock si le nombre est compris entre 1 et 99 et in stock s'il est de 100 ou plus. Vous pouvez utiliser le JSON suivant en entrée :
{
    "items": [
        {
            "id" : 654981,
            "stock": 43
        },
        {
            "id" : 698624,
            "stock": 295
        },
        {
            "id" : 149875,
            "stock": 0
        },
        {
            "id" : 698763,
            "stock": 100
        },
        {
            "id" : 856231,
            "stock": 15
        },
        {
            "id" : 789354,
            "stock": 457
        }
    ]
}
Vous pouvez utiliser l'échantillon CSV suivant pour créer votre structure de sortie :
itemId,stockStatus

Procédure

  1. Glissez-déposez l'élément d'entrée id sur l'élément de sortie itemId.
  2. Cliquez sur l'élément stockStatus et glissez-déposez une fonction IfThenElse dans l'onglet Value.
  3. Glissez-déposez une fonction Equal sur l'argument Condition, puis glissez-déposez l'élément d'entrée stock sur l'argument First Value.
  4. Glissez-déposez une fonction Constant sur l'argument Second Value, puis double-cliquez dessus et saisissez 0 dans le champ Value. Sélectionnez Integer (32) dans le champ Data Type et cliquez sur OK.
  5. Ajoutez une fonction Constant sur l'argument Then et saisissez out of stock dans son champ Value.
  6. Ajoutez une autre fonction IfThenElse sur l'argument Else.
    Cela vous permet de définir une autre condition avec une valeur différente.
  7. Ajoutez une fonction And dans l'argument Condition, puis ajoutez une fonction Greater et une fonction Lesser sur la fonction And.
  8. Glissez-déposez l'élément d'entrée stock sur l'argument First Value des fonctions Greater et Lesser.
  9. Ajoutez une fonction Constant sur l'argument Second Value des fonctions Greater et Lesser.
    1. Pour la fonction Constant sous Greater, saisissez 0 dans le champ Value.
    2. Pour la fonction Constant sous Lesser, saisissez 100 dans le champ Value.
  10. Ajoutez une fonction Constant sur l'argument Then et saisissez low stock dans son champ Value.
  11. Ajoutez une fonction Constant sur l'argument Else et saisissez in stock dans son champ Value.

Résultats

Votre map est configurée et doit ressembler à ceci :
Vous pouvez utiliser la fonctionnalité Test Run pour voir le résultat. Dans cet exemple, la sortie suivante est retournée :
itemId,stockStatus
654981,low stock
698624,in stock
149875,out of stock
698763,in stock
856231,low stock
789354,in stock

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.