Home › Forums › Power Query › Optimisation d’une étape très longue
Tagged: Power Query Editor
- This topic has 1 reply, 2 voices, and was last updated 2 years, 6 months ago by
Stéphane Lorin.
-
AuthorPosts
-
22 July 2023 at 10 h 02 min #130247
philippe.morel.35
ParticipantBonjour,
J’ai besoin de connaître le nombre d’enregistrements d’une table qui :
contient notamment une colonne [COUNTRY], et plusieurs colonnes [A_nomProduit], et [C_nomProduit] ou nomProduit est un élément d’une liste ListProdNoSH
ET vérifient les conditions suivantes :
la valeur de chaque ligne dans la colonne A_nomProduit = 2 et toutes les valeurs dans la colonne C_nomProduit sont égales à 0
Pour simplifier le problème, j’ai créé plusieurs colonnes [A2C0_nomProduit] dont les valeurs sont 1 si [A_nomProduit]=2 et [C_nomProduit]=0 (étape AddADV2C0)
AddADV2C0 =
List.Accumulate(ListProdNoSH,DevAddADV,(current_table, new_name) =>
Table.AddColumn(current_table, “A2C0_” &new_name, each
if (Text.From(Record.Field(_,”C_”&new_name))=”0″ and
Text.From(Record.Field(_,”A_”&new_name))=”2″) then 1 else 0)),Puis j’ai créé des colonnes [ErrA2C0_nomProduit] pour compter pour chaque ligne le nombre de [A2C0_nomProduit] = 1 pour chaque [COUNTRY] et nomProduit donné.
AddErrA2C0ProdName = List.Accumulate(
ListProdNoSH,
AddADV2C0,
(table, prod) =>
let
countMatchingRows = Table.AddColumn(table, “ErrA2C0_” & prod, each
let
currentCountry = [C_COUNTRY], //Record.Field(_,”C_COUNTRY”),
countErr = Table.RowCount(Table.SelectRows(table,
each ([C_COUNTRY] = currentCountry and
Record.Field(_,”A2C0_”&prod) = 1)
))
in
countErr
)
in
countMatchingRows
),
Cela fonctionne MAIS devient d’une lenteur exaspérante dès que je l’applique à la totalité de ma table (~1500 lignes et 9 produits), que ce soit sous Power Query Editor mais hélas aussi en actualisation de ma requête
Je serais très reconnaissant si quelqu’un pouvait m’expliquer une meilleure (plus efficace) façon de procéder
Cordialement24 July 2023 at 2 h 33 min #130357Stéphane Lorin
ParticipantBonjour
Il est difficile de vous aider avec uniquement vos formules lorsqu’on n’a pas la structure du fichier.
Le mieux serait de fournir un fichier Excel “modèle” avec vos colonnes et quelques lignes anonymisées + votre requête actuelle.
MerciStéphane
-
AuthorPosts
- You must be logged in to reply to this topic.




