Support Microsoft Power BI
Share
Explore
Support Microsoft Power BI
2 | Transformer ses données (Power Query)

icon picker
Langage M

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.
image.png
Dans Query, ajouter une colonne personnalisée :
image.png
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.
image.png

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

21/04/2023
= 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

Record.Field(_, sChaine)
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],

Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.