Une fonction personnalisée utilise le langage de formule M, prend un ensemble de valeurs d’entrée, puis retourne une valeur de sortie unique. Si vous avez une logique que vous souhaitez réutiliser plusieurs fois ou appliquer le même ensemble de transformations à une autre requête ou valeur, envisagez de créer une fonction personnalisée, puis d’appeler la fonction là où et quand vous en avez besoin. Il existe plusieurs façons de créer une fonction personnalisée :
-
Utilisez la Éditeur avancé pour ajouter votre propre instruction let et commencer à partir de zéro.
-
Utilisez la commande Appeler une fonction personnalisée .
-
Il existe d’autres façons de créer des fonctions non abordées dans cette rubrique d’aide, notamment les commandes Créer une fonction et Ajouter en tant que requête . Pour une discussion approfondie, consultez Présentation des fonctions Power Query M (docs.com)et Utilisation de fonctions personnalisées (docs.com).
Voici un exemple simple de fonction personnalisée qui suit une tradition de programmation de longue date.
-
Pour créer une requête vide :
Excel Sélectionnez Données > Obtenir des données > à partir d’autres sources > Requête vide. Power Query Cliquez avec le bouton droit sur un emplacement vide dans le volet Requêtes à gauche, puis sélectionnez Nouvelle requête > Autres sources > Requête vide. -
Dans le volet Requêtes à gauche, double-cliquez sur le nom, puis renommez la nouvelle requête vide en « HelloWorld ».
-
Sélectionnez la nouvelle requête, puis sélectionnez Accueil > Éditeur avancé.
-
Remplacez le code de démarrage du modèle par le code suivant :
let HelloWorld = () => ("Hello World") in HelloWorld
-
Sélectionnez Terminé.
-
Vous avez remplacé la requête « HelloWorld » par une fonction personnalisée. Notez que l’icône de fonction
à gauche de celle-ci. -
Pour appeler la fonction, sélectionnez-la, puis sélectionnez Appeler dans Aperçu des données.
-
Les résultats de la fonction sont affichés dans l’aperçu des données et ajoutés au volet Requêtes en tant que requête avec le nom par défaut, Fonction appelée. Vous souhaiterez peut-être le renommer en quelque chose de plus significatif, par exemple « HelloWorldResult ».
-
Sélectionnez cette requête, puis sélectionnez Accueil > Fermer & Charger pour afficher les résultats dans une feuille de calcul.
Résultats
L’exemple suivant montre comment passer un paramètre à une fonction personnalisée pour convertir un nombre décimal en nombre hexadécimal.
-
Pour créer une requête vide :
Excel Sélectionnez Données > Obtenir des données > à partir d’autres sources > Requête vide. Power Query Cliquez avec le bouton droit sur un emplacement vide dans le volet Requêtes à gauche, puis sélectionnez Nouvelle requête > Autres sources > Requête vide. -
Dans le volet Requêtes à gauche, renommez la nouvelle requête vide en « MyHex ».
-
Sélectionnez la nouvelle requête, puis sélectionnez Accueil > Éditeur avancé.
-
Remplacez le code de démarrage du modèle par le code suivant :
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Sélectionnez Terminé.
-
Vous avez remplacé la requête « MyHex » par une fonction personnalisée. Notez que l’icône de fonction
à gauche de celle-ci. -
Pour appeler la fonction, sélectionnez-la, puis dans Aperçu des données, entrez un nombre dans la zone parameter1 , puis sélectionnez Appeler.
-
Les résultats de la fonction sont affichés dans l’aperçu des données et ajoutés au volet Requêtes en tant que requête avec le nom par défaut, Fonction appelée. Vous pouvez le renommer en quelque chose de plus significatif, par exemple « MyHexResult ».
-
Sélectionnez cette requête, puis sélectionnez Accueil > Fermer & Charger pour afficher les résultats dans une feuille de calcul.
Résultats
Si vous avez créé une fonction avec au moins un paramètre, vous pouvez l’appeler en tant que fonction personnalisée pour créer une colonne et une nouvelle valeur pour chaque ligne d’une table.
-
Pour ouvrir une requête, recherchez-en une précédemment chargée à partir du Éditeur Power Query, sélectionnez une cellule dans les données, puis sélectionnez Requête > Modifier. Pour plus d’informations, voir Créer, modifier et charger une requête dans Excel (Power Query). Note Pour cet exemple, votre requête a besoin d’au moins une colonne d’un type de données Nombre entier .
-
Créez la fonction personnalisée « MyHex » comme expliqué dans la section Créer et appeler une fonction personnalisée qui a un paramètre avec le Éditeur avancé.
-
Dans la requête, sélectionnez Ajouter une colonne > Appeler une fonction personnalisée. La boîte de dialogue Appeler une fonction personnalisée s’affiche.
-
Entrez le nom de la nouvelle colonne, par exemple « HexConvert », dans la zone Nouveau nom de colonne .
-
Sélectionnez le nom d’une fonction personnalisée prédéfinie dans la liste déroulante Requête de fonction. Dans cet exemple, sélectionnez « MyHex ».
-
Étant donné que la fonction personnalisée fait référence à un paramètre, le paramètre est maintenant affiché.
-
Sélectionnez une colonne d’un type de données Nombre entier comme paramètre de la fonction.
-
Sélectionnez OK.
Result (Résultat)
Une nouvelle colonne est créée et affiche la valeur hexadécimale de la colonne Nombre entier que vous avez entrée en tant que paramètre.
Voir aussi
Créer des formules Power Query dans Excel