Les requêtes créées par Power Query sont enregistrées dans le classeur Excel où elles ont été créées. Mais elles peuvent facilement être copiées d'un classeur à un autre :
Il n'existe pas d'option permettant d'exporter une requête pour l'importer ensuite sur un autre PC.
Mais on a vu au chapitre Historique des étapes appliquées que derrière toute requête se cache en fait un script en langage M. Et ce script est « portable ».
Si vous souhaitez transférer un script d'un environnement à un autre, vous pouvez donc tout à fait copier le code source de ce script depuis la fenêtre Editeur avancé de Power Query, l'envoyer par mail à une autre personne qui pourra alors l'intégrer dans une requête.
Exemple de script :
let
Source = MySQL.Database("localhost", "EntrepotLD", [ReturnSingleDatabase=true]),
entrepotld_pay_bulletins = Source{[Schema="entrepotld",Item="pay_bulletins"]}[Data],
#"Autres colonnes supprimées" = Table.SelectColumns(entrepotld_pay_bulletins,{"Code société", "Matricule", "Année", "Mois", "Nom Prénom", "Sexe", "Age", "Ancienneté", "Code établissement", "Etablissement", "Code service", "Service", "Code convention collective", "Type de contrat", "Date d'entrée", "Date d'ancienneté", "Statut catégoriel", "Statut AGRIC-ARRCO", "Code profil rubrique", "Profil rubrique", "Code profil cotisation", "Profil cotisation", "Taux temps partiel", "Salaire brut", "Salaire de base", "Heures sup.", "Primes", "Absences...", "Net imposable", "Net à payer", "Charges patronales", "Charges totales", "Horaire payé"}),
#"Colonnes renommées" = Table.RenameColumns(#"Autres colonnes supprimées",{{"Code société", "Société"}}),
#"Colonnes fusionnées" = Table.CombineColumns(#"Colonnes renommées",{"Code établissement", "Etablissement"},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"Etablissement.1"),
#"Colonnes renommées1" = Table.RenameColumns(#"Colonnes fusionnées",{{"Etablissement.1", "Etablissement"}}),
#"Colonnes fusionnées1" = Table.CombineColumns(#"Colonnes renommées1",{"Code service", "Service"},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"Fusionné"),
#"Colonnes renommées2" = Table.RenameColumns(#"Colonnes fusionnées1",{{"Fusionné", "Service"}}),
#"Colonnes fusionnées2" = Table.CombineColumns(#"Colonnes renommées2",{"Code profil rubrique", "Profil rubrique"},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"Fusionné"),
#"Colonnes renommées3" = Table.RenameColumns(#"Colonnes fusionnées2",{{"Fusionné", "Profil rubrique"}}),
#"Colonnes fusionnées3" = Table.CombineColumns(#"Colonnes renommées3",{"Code profil cotisation", "Profil cotisation"},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"Fusionné"),
#"Colonnes renommées4" = Table.RenameColumns(#"Colonnes fusionnées3",{{"Fusionné", "Profil cotisation"}}),
#"Colonne conditionnelle ajoutée" = Table.AddColumn(#"Colonnes renommées4", "Tranche d'âge", each if [Age] <= 20 then "< 20" else if [Age] <= 30 then "< 30" else if [Age] <= 40 then "< 40" else if [Age] <= 50 then "< 50" else "> 50"),
#"Personnalisée ajoutée" = Table.AddColumn(#"Colonne conditionnelle ajoutée", "Personnalisé", each [Année] & " " & [Mois]),
#"Colonnes renommées5" = Table.RenameColumns(#"Personnalisée ajoutée",{{"Personnalisé", "Année mois"}})
in
#"Colonnes renommées5"
Il faudra simplement corriger si nécessaire les données apparaissant en orange ci-dessus :
![]() |
![]() |
Chapitre suivant ![]() |