Imbrique formule power query Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
maverick59264
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 26 août 2018
Version d'Excel : 2016 FR

Message par maverick59264 » 15 août 2019, 12:11

Bonjour,

Je suis sur un fichier ou j'ai utilisé POWER QUERY.

J'ai réussis a supprimer les espaces, mettre en majuscule et à extraire des caractères d'une même colonne, cependant j'ai fait 3 étapes qui sont indiquées ci-dessous :

étape 1 = Table.TransformColumns(#"Colonnes supprimées",{{"PDT", Text.Upper, type text}})

étape 2= Table.TransformColumns(#"Colonnes supprimées",{{"PDT", Text.Upper, type text}})

étape 3= Table.TransformColumns(#"Colonnes supprimées",{{"PDT", Text.Upper, type text}})

Je voudrais savoir si il est possible de faire une seule étape.
J'ai essayé de combiner sans trouver.

Merci d'avance pour votre aide

Cordialement,
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'603
Appréciations reçues : 251
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 15 août 2019, 13:20

bonjour

en principe quand tu demandes au GUI de changer les types, il met tout dans la même ligne de code

note : on ne saisit jamais de code M, tout se fait par le GUI
sauf rares exceptions, comme les colonnes avec des conditions

note 2 ; conséquence : on ne lit presque jamais le code M
sauf pour supprimes des items quand on a supprimé des colonnes (ou renommé) plus en amont

joins un petit extrait de ton fichier, on va voir comment tu fais, et comment on peut faire plus simple

amitiés
Modifié en dernier par jmd le 15 août 2019, 13:22, modifié 1 fois.
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 4'999
Appréciations reçues : 379
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 15 août 2019, 13:55

Bonjour à tous

Tes trois lignes sont strictement identiques il me semble : sans fichier on en comprends pas
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
Avatar du membre
maverick59264
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 26 août 2018
Version d'Excel : 2016 FR

Message par maverick59264 » 15 août 2019, 18:02

Bonjour,

Je reformule c'est mieux ainsi et j'ai mis mon fichier en exemple.

Je suis sur un fichier ou j'ai utilisé POWER QUERY.

J'ai réussis a supprimer les espaces, mettre en majuscule et à extraire des caractères d'une même colonne, cependant j'ai fait 3 étapes qui sont indiquées ci-dessous :

étape 1 = Table.TransformColumns(#"Colonnes supprimées",{{"PDT", Text.Upper, type text}})

étape 2= = Table.TransformColumns(#"Texte en majuscules",{{"PDT", Text.Trim, type text}})

étape 3= Table.TransformColumns(#"Espaces supprimés", {{"PDT", each Text.Start(_, 3), type text}})

Je voudrais savoir si il est possible de faire une seule étape.
J'ai essayé de combiner sans trouver.

Merci d'avance pour votre aide

Cordialement,
TEST.xlsx
(15.36 Kio) Téléchargé 4 fois
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'603
Appréciations reçues : 251
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 15 août 2019, 18:04

re

il est inutile de copier les étapes ici dans ton message sur le forum
le fichier devrait suffire, mais tu as oublié de mettre la requête dedans ::o

note : à quoi servirait de tout mettre sur une ligne ?
car ensuite ça devient galère quand tu veux modifier

le GUI de PQuery est tellement bien, ne pas gâcher son ergonomie en compactant tout

amitiés
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 4'999
Appréciations reçues : 379
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 15 août 2019, 18:44

RE

Table.TransformColumns appelle des fonctionnalités pré-codées.

Tu peux créer ta propre fonction via l'Editeur avancé par exemple une Fonction Codage
(Colonne)=>
let
    Codage=Text.Upper(Text.Start(Text.Trim(Colonne),3))
in
    Codage
Puis dans la 1ère formule Remplacer Text.Upper par Codage pour tout faire tout d'un coup

Cela donne
= Table.TransformColumns(#"Type modifié",{{"PDT", Codage, type text}})
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
Avatar du membre
maverick59264
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 26 août 2018
Version d'Excel : 2016 FR

Message par maverick59264 » 16 août 2019, 11:54

J'ai essayé mais j'ai une erreur de ce type :

"Expression.Error : Désolé... Nous n'avons pas pu convertir la valeur "let
Codage=Text...." en type Function.
Détails :
Value=let
Codage=Text.Upper(Text.Start(Text.Trim(Colonne),3))
in
Codage
Type=Type"
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 4'999
Appréciations reçues : 379
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 16 août 2019, 12:34

RE

Tu as bien créé la fonction au préalable selon le code indiqué ?
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
Avatar du membre
maverick59264
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 26 août 2018
Version d'Excel : 2016 FR

Message par maverick59264 » 16 août 2019, 13:02

OK sa marche, merci beaucoup, je doit encore apprendre pas mal de chose sur power query.
Avatar du membre
78chris
Passionné d'Excel
Passionné d'Excel
Messages : 4'999
Appréciations reçues : 379
Inscrit le : 9 juillet 2017
Version d'Excel : 2010 à 2019 + 365

Message par 78chris » 16 août 2019, 14:04

Re

Rassure-toi, moi aussi...

Suite à ta question initiale j'ai cherché sur le net si on pouvait agir sur Table.TransformColumns

Du coup j'ai appris quelque chose pour pouvoir te répondre.

C'est l'avantage des forums : tout le monde avance :wink: ::D
Chris
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Confucius
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message