#shared
Afficher toutes les fonctions internes
Adresser un champ par indirection
Dans une 4e colonne, nous voulons ajouter le contenu du Champ1 ou Champ2 tel que noté dans la colonne Champ.
Dans Query, ajouter une colonne personnalisée :
La fonction Record.Field contient un 1er argument (_), qui représente la table actuelle, et un 2d qui indique le champ à utiliser en indirection.
Manipuler une valeur selon sa position
Par exemple avec la fonction Table.ReplaceValue, oldValue est de la forme “valeur à rechercher”, comme ici “contenu” :
= Table.ReplaceValue(#"Type modifié","contenu","test",Replacer.ReplaceText,{"Colonne 1"})
Il faut remplacer l’argument par :
= Table.ReplaceValue(#"Type modifié",#"Type modifié"{0}[Colonne 1],"test",Replacer.ReplaceValue,{"Colonne 1"})
donc sous la forme NomDeLaTable{Numéro de ligne}[Nom de la colonne].
NomDeLaTable est la table produite par l’étape de type Table précédente, donc souvent l’étape précédente.
Remplacer des valeurs non numériques par null
15/03/2023
= if Value.Is(Number.FromText([Colonne]), Number.Type) then [Colonne] else null
Tester si une valeur est une date, un nombre...
= try Value.Is(Date.From([Colonne]), type date) otherwise false
Retourne TRUE ou FALSE selon que Colonne contient une date ou pas.
Transformer une valeur de chaine en champ
Renvoi un champ (indirection, comme la fonction INDIRECT() d’Excel).
Syntaxe Table / Liste / Valeur
Retourne une valeur : Table[NomColonne] (première valeur de la colonne). Table peut être une expression de table comme ici :
TypeModifié = Table.TransformColumnTypes(Source,{{"Colonne1", Int64.Type}}),
vMaxi = Table.Max(TypeModifié, "Colonne1")[Colonne1]