PowerQuery : combiner texte

Bonjour à tous,

Je cherche à combiner du texte sur une table en une seule étape, en agissant directement dans le code M.

image

Est-ce possible ?

22text-combine.xlsx (16.47 Ko)

Hello,

Une proposition

= Table.FromColumns({{Text.Combine(Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content][A],", ")}},{"A"})

@+

Bonjour,

Une variante :

= Table.Group(Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content], {}, {{"Résultat", each Text.Combine(_[A],", ")}})

A+

Bonsoir à tous les deux,

Je vous remercie pour vos retours.

Une préférence pour la solution de OOoiste, simplement parce que je suis plus à l'aise avec la fonction Table.Group. Je m'obstinais à remplir le 2ème argument de la fonction {"..."} alors qu'il fallait simplement le laisser vide { } !

Par contre, par rapport à un autre sujet :

Text.Combine(_[A],", ")

Le _ n'est pas obligatoire (?)

BAROUTE, merci, je garde évidemment la soluc ! +1

Hello,

Cette réponse fonctionne aussi pour ton autre question, mais quand tu fais un Table.Group, pour récupérer uniquement la « sous table » ou « ensemble » généré par ton groupement tu utilises « each _ » ou « (x)=> x ». Du coup ton « _ » représente cette sous table sur laquelle tu vas appliquer les opérations que tu veux.

Ainsi, le « _ » suivi du champ permet de générer une liste et ensuite on y applique le Text.Combine. Pour ce qui est de ta question, est ce qu’on est obligé ou non de le mettre devant le nom du champ je vais te répondre que ça dépend.

J’ai déjà eu des cas où je faisais des Table.Group imbriqués donc avec les mêmes champs mais si je ne mettais pas ce fameux « _ » ou « (x)=> », PowerQuery ne savait pas identifier si je parlais du champ résultant du premier Table.Group ou du second.

Je te recommanderai plutôt de le mettre en permanence question bonnes pratiques, après c’est à ta discrétion bien évidemment

@+

Bonjour BAROUTE,

Merci pour la mini formation

Il y a tellement de possibilité qu'on s'y perd un peu à force...

Rechercher des sujets similaires à "powerquery combiner texte"