Microsoft 365 PowerQuery Hyper lent

  • Initiateur de la discussion Initiateur de la discussion GADENSEB
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

GADENSEB

XLDnaute Impliqué
Bonjour le forum,

Je ne comprends pas. j'ai un power query hyper sur un fichier que j'utilise depuis des années
La database (contenue dans un onglet du fichier) fait 30 000 lignes et 27 colonnes.

C'est hyper lent à l'étape "connexion à la source de données"
ça met 5 minutes.
Je n'ai pas fait de gros changements dans le code.

Je ne pas mettre le fichier dans le forum car il contient des datas perso.

Je cherche juste des pistes de réflexion ;-)

Bonne Journée
Seb
 
le code PQ de la source de données est :

Code:
let
    // Combiner les tables source et sélectionner les colonnes nécessaires
    Source = Table.Combine({TAB_COMPTES, TAB_CONVERSION}),
    ColonnesFiltrées = Table.SelectColumns(Source, {
        "DATE", "LIBELLE BANQUE", "BUDGET REEL", "DEBITCREDIT", "CODE",
        "DEBIT", "CREDIT", "N°", "ANNEE", "SEMAINE", "POSTE", "COMMERCE"
    }),
    
    // Modifier les types dès l'importation des colonnes filtrées
    TypesModifiés = Table.TransformColumnTypes(ColonnesFiltrées, {
        {"DATE", type date},
        {"LIBELLE BANQUE", type text},
        {"BUDGET REEL", type text},
        {"DEBITCREDIT", Currency.Type},
        {"CODE", type text},
        {"DEBIT", Currency.Type},
        {"CREDIT", Currency.Type},
        {"N°", type text},
        {"ANNEE", type text},
        {"SEMAINE", type text},
        {"POSTE", type text},
        {"COMMERCE", type text}
    }),

    // Remplacer les valeurs nulles par des valeurs par défaut
    ValeurRemplacée = Table.ReplaceValue(TypesModifiés, null, "", Replacer.ReplaceValue, {
        "LIBELLE BANQUE", "N°", "CODE", "ANNEE", "SEMAINE", "POSTE", "COMMERCE"
    }),
    ValeurRemplacée2 = Table.ReplaceValue(ValeurRemplacée, null, 0, Replacer.ReplaceValue, {"DEBIT", "CREDIT", "DEBITCREDIT"}),
    
    // Ajouter des colonnes personnalisées
    ColonneComparBudget = Table.AddColumn(ValeurRemplacée2, "COMPAR BUDGET", each [DEBITCREDIT]),
    ColonneDateFinSemaine = Table.AddColumn(ColonneComparBudget, "DATE FIN DE SEMAINE", each Date.EndOfWeek([DATE])),

    // Fusionner avec la table TAB_COMMERCES
    FusionCOMMERCES = Table.NestedJoin(ColonneDateFinSemaine, {"COMMERCE"}, TAB_COMMERCES, {"LIBELLE"}, "COMMERCES", JoinKind.LeftOuter),
    COMMERCESDéveloppé = Table.ExpandTableColumn(FusionCOMMERCES, "COMMERCES", {"CATEGORIE", "VALIDATION CCE"}, {"CCES.CATEGORIE", "VALIDATION CCE"}),

    // Fusionner avec la table Tab_ParametresPostes
    FusionParametresPostes = Table.NestedJoin(COMMERCESDéveloppé, {"POSTE"}, Tab_ParametresPostes, {"NOM COMPLET"}, "Tab_ParametresPostes", JoinKind.LeftOuter),
    ParametresPostesDéveloppé = Table.ExpandTableColumn(FusionParametresPostes, "Tab_ParametresPostes", {"CLASSIFICATION"}, {"CLASSIFICATION"}),

    // Ajouter une colonne de clé unique
    ColonneClef = Table.AddColumn(ParametresPostesDéveloppé, "Clef", each Date.ToText([DATE]) & "-" & Number.ToText(Number.Abs([DEBITCREDIT])))
in
    ColonneClef
 
Salut @GADENSEB ,

j'ai aussi ce genre de problème...

Jamais regardé la place en memoire...

Mais, quand je copie sur le disque local (et pas dans "mes documents" qui est aussi en sharepoint) alors cela va beaucoups plus vite.

Comme mon fichier reste partagé, je suis obligé de le laisser sur sharepoint (grrrr), alors à l'ouverture je commence par un refresh de tous les query avant même de travailler .

Merinos
 
Bonjour @GADENSEB, le forum,
Un fichier exemple sans données personnelles serait utile pour optimiser la requête.

En général lorsque le nombre de lignes est important je préfère travailler avec des listes/Record plutôt que des tables et éviter les tablesnestedjoin, filtrer le plus tôt possible et faire les étapes gourmandes à la fin.
 
bonjour,
Je vais essayer de fournir un fichier "Vierge" d'infos perso.
Je pense avoir trouvé l'erreur l'option "Activer l'actualisation en arrière plan est désactivée et grisée... sur toutes les requêtes dont la principale qui sert de base de travail à tout.

1725277771095.png

Comment dégriser cette option ???


bonne aprem
Seb
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
971
Réponses
1
Affichages
1 K
Retour