1avergne

PowerQuery - Traiter une colonne avec des valeurs de type list et de type text

2022-10-05

Lorsqu’on intègre des données venant d’une source json il arrive d’avoir des champs contenant des listes mélangées à du texte :

image

Si on extraie les valeurs de la colonne, on obtient une erreur pour chaque valeur texte.

image

La solution consiste à ajouter une colonne personalisée où l’on teste le type de la valeur :

Le type d’une colonne se récupère avec la fonction Value.Type qui renvoit un objet type. Il faut donc utiliser l’instruction dans une fonction Type.Is pour faire la comparaison. On peut ensuite supprimer la colonne d’origine.

if Type.Is(Value.Type([raw expression]), type list)
then Text.Combine(List.Transform([raw expression], Text.From))
else [raw expression]

image