Power Query - nettoyer un champ

Bonjour à tous

J'ai besoin de nettoyer un champ de description d'une table Excel qui comprend de nombreux commentaires et éventuellement des string bien précis du type #AMX, #MAS....

Je souhaiterai ne récupérer dans une nouvelle colonne que ces #

Sous power Query, j'arrive à checker si les # qui m'intéressent sont présents pour chaque lignes avec le code suivant qui me crée une colonne avec des list de type True/false.

List.Transform({"#AMX","#MAS","#NDX","#CDS"},(substring) => Text.Contains ([Description],substring))

Mais comment faire pour ne récupérer que les # (si présents) et supprimer les lignes qui ne contiennent pas ces #?

A l'avance merci

Bonjour à tous !

En .... filtrant ?

Au besoin, joignez un classeur représentatif.

Bonjour JFL

Oui mais non ;-) en fait je souhaiterai "nettoyer" le champ pour ne garder dedans que les #.... et supprimer les lignes ne contenant pas les # qui m'interessent

Là si je mets un filtrage multiple avec contenant "#AMX" ou #MAS etc... je me retrouve bien avec les bonnes lignes mais il reste encore tout le blabla éventuel...

Dans mon exemple, je souhaiterai passer de cela:

image

A ça:

image

Bonjour à tous de nouveau !

Pourriez-vous, dans votre classeur, inclure un peu de matière....exploitable ?

La source de vos données est inaccessible.

En effet, cela provient d'une source interne (pas le droit de la partager malheureusement)....

Mon code est le suivant:

let
    Source = Excel.Workbook(Web.Contents("xxxxxx/Shared%20Documents/Qualit%C3%A9/Dossier%20de%20Travail/_Extraction%20contacts/Contacts/CDD%20FR%20-%20Contacts.xlsx"), null, true),
    #"CDD FR - Contacts_Sheet" = Source{[Item="CDD FR - Contacts",Kind="Sheet"]}[Data],
    #"Type modifié" = Table.TransformColumnTypes(#"CDD FR - Contacts_Sheet",{{"Column1", type any}, {"Column2", type text}, {"Column3", type any}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}, {"Column9", type text}, {"Column10", type text}, {"Column11", type text}, {"Column12", type text}, {"Column13", type text}, {"Column14", type text}, {"Column15", type text}, {"Column16", type text}, {"Column17", type text}, {"Column18", type text}, {"Column19", type any}}),
    #"Premières lignes supprimées" = Table.Skip(#"Type modifié",12),
    #"En-têtes promus" = Table.PromoteHeaders(#"Premières lignes supprimées", [PromoteAllScalars=true]),
    #"Type modifié1" = Table.TransformColumnTypes(#"En-têtes promus",{{"Column1", type any}, {"CDD ERP Reference Id", type text}, {"Column3", type any}, {"Account Name", type text}, {"Trade Style / DBA", type text}, {"Primary Street", type text}, {"Primary City", type text}, {"Primary Zip/Postal Code", Int64.Type}, {"Primary Country (text only)", type text}, {"Department Type", type text}, {"Department Name", type text}, {"First Name", type text}, {"Last Name", type text}, {"Title", type text}, {"Business Phone", type text}, {"Mobile Phone", type text}, {"Email", type text}, {"Description", type text}, {"Column19", type any}}),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"Type modifié1",{"CDD ERP Reference Id", "Email", "Description"}),
    Personnalisé1 = Table.TransformColumns(#"Autres colonnes supprimées",{{"CDD ERP Reference Id", each Text.TrimStart(_,"0")}}),
    #"Type modifié2" = Table.TransformColumnTypes(Personnalisé1,{{"CDD ERP Reference Id", type text}}),
    #"Personnalisée ajoutée" = Table.AddColumn(#"Type modifié2", "Personnalisé", each List.Transform({"#AMX","#MAS","#NDX","#CDS"},(substring) => Text.Contains ([Description],substring)))
in
    #"Personnalisée ajoutée"

La ligne #Personnalisée ajoutée me retourne une liste avec des True/false en fonction de la colonne "Description" et en fonction de ma liste de verif :

"#AMX","#MAS","#NDX","#CDS"

Par exemple pour la première ligne de mon exemple, j'ai donc:

TRUEFALSEFALSEFALSE

Donc pas exactement ce que j'attend...

Je souhaiterai avec un vide si FALSE et le bon # si TRUE

Bonjour à tous de nouveau !

Dans ce cas, il vous faut créer, manuellement, un jeu de données anonymes mais représentatives !

Voici

15classeur.xlsx (32.71 Ko)

Bonjour à tous de nouveau !

Une proposition ?

Re

Cela ne fonctionne pas exactement comme souhaité, désolé

Par exemple pour les lignes 17.052 etc... il reste du texte hormis les # souhaités

Bonsoir à tous !

Au temps pour moi, je n'avais pas remarqué vos copies écran explicatives.

Je vous livre une version amendée :

Re

Super ça fonctionne nickel.

Un grand merci à toi.

Bonjour à tous !

Parfait.

Je vous remercie de ce retour.

Rechercher des sujets similaires à "power query nettoyer champ"