Utiliser la clause LET - Cloud - 8.0

Guide de référence de Talend Data Shaping Language

Version
Cloud
8.0
Language
Français
Product
Talend Cloud
Module
Data Shaping Language
Content
Création et développement
Last publication date
2023-11-23
La clause LET est utilisée pour définir une variable pouvant être réutilisée dans la requête.
La clause LET doit être structurée comme suit :
LET $variable_name = expression

La variable doit commencer par le caractère $ et ne peut pas être un identifiant hiérarchique. Par exemple, $item.index n'est pas une variable valide. La variable doit être unique à travers la requête. L'expression utilisée pour spécifier la valeur de la variable peut être une expression simple ou une expression conditionnelle. Dans Talend Data Mapper, elle peut également être un tableau.

La clause LET doit être utilisée après une clause FROM, UNNEST, JOIN, GROUP BY ou GROUP AS ou dans un bloc de requête introduit par une clause SELECT. Si la requête contient une clause WHERE ou HAVING, la clause LET doit être placée avant celle-ci. Par exemple :
FROM customer
LET $address = concatWith(" ", address.street, address.city)
WHERE hasValue(rating)
SELECT { 
  name, 
  rating, 
  address = $address,
  LET $level = if (rating > 650) "Premium" else "Standard",
  level = $level
}
Remarque : Si une clause LET est utilisée dans une clause SELECT :
  • la variable est disponible uniquement dans ce bloc et ne peut être utilisée ailleurs dans la requête.
  • Les fonctions d'agrégation ne sont pas supportées.

La clause LET est évaluée pour chaque itération dans la requête, à la différence de la clause WITH.