[Power Query] Optimisation de requêtes

Bonjour,

Je cherche à optimiser mes requêtes afin de gagner en temps d'actualisation. Mais je ne trouve pas de moyen de savoir si un changement provoque un réel gain de temps. Dans cette optique j'ai plusieurs questionnements. Si vous avez des grands principes à connaitre pour gagner en rapidité je suis preneur. Merci d'avance pour toute aide !

Je joins un fichier exemple. Il reprend les grands principes de mon fichier, je vous épargne les grands calculs avec les raisonnements économiques spécifiques de mon cas. Il faut savoir que le résultat final rajoute 8 colonnes de prix déterminer avec des coefficients en tout genre et une combinaison de catégorisation de chaque ligne. J'ai pour le moment 30 actions de transformation différentes les unes à la suite des autres.

Voici mes plusieurs questions :

  • Existe-t-il un moyen de mesurer le temps d'une actualisation d'un tableau ?
    • Afin de comparer le temps de plusieurs solutions et voir laquelle est la plus rapide ?
  • Est-il plus intéressant de supprimer, de sélectionner ou de filtrer ?
  • Mieux vaut-il filtrer plusieurs fois avant de rajouter des colonnes ou alors filtrer à la fin ?
  • Est-il plus performant d'utiliser les fonctionnalités de Selected ou les Others ? Exemple : UnpivotColumns ou UnpivotOtherColumns ? RemoveColumns / RemoveOtherColums ?
  • Quelles gestions d'erreurs est la plus performante :
    • Remplacer les erreurs de conversion ou calculs dès qu'ils peuvent se produire
    • Laisser les erreurs si on ne veut pas les traiter (lors de chargement il remplacera par null)
    • Les traiter une fois au maximum pour se mettre dans un cas fonctionnel
  • Est-ce plus rapide de créer une fonction qui va réaliser la transformation d'un input ou de le faire directement dans le tableau ? (dans mon fichier différence entre SOLUTION 1 et SOLUTION 2)
  • Si une fonction fait référence à un tableau du fichier courant : "Source = Excel.CurrentWorkbook(){[Name="Tableau_NAME"]}[Content]"
    • Est-ce qu'à chaque appel de cette fonction le fichier va recharger ce tableau ? Donc actualiser avant de ressortir le résultat à chaque appel ?
  • Est-ce plus rapide de créer une fonction pour récupérer un coefficient ou alors de lire un second tableau ? (dans mon fichier différence entre fonctions getMajo et fonctions getMajoWithTable)
  • Est-ce plus optimisé de supprimer l'ensemble des colonnes en 1 seul fois ou alors de le faire à chaque étape ?
    • Travailler avec une quantité minimum de données ou alors réaliser un minimum d'action quitte à garder des colonnes non utilisées ?

Je suis novice dans Power Query et je n'arrive pas à obtenir un résultat performant.

Merci d'avance encore.

7exemple.xlsx (115.85 Ko)
Rechercher des sujets similaires à "power query optimisation requetes"