L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

Power Query

Fonction Power Query

19 décembre 2014
Imprimer E-mail

Le langage M de Power Query permet d'écrire des scripts afin de gérer des requêtes. Il est possible d'écrire des fonctions en langage M pourvant être réutilisée sur d'autres requêtes. Par exemple : Calculer une distance en km entre 2 lieux, Extraire un certains nombre de caractère d'un champ, Concaténer 1 champ Nom et 1 champ Prénom.

Une fonctions si elle eststockée dans le catalogue de données d'un site SharePoint pourra ainsi être réutilisée à convenance.

Création d'une Fonction

 Prenons un exemple simple : à partir d'un prénom et d'un nom pour créer un "NOM Prénom".

Créez une requête Power Query :

  • onglet POWER QUERY ;
  • A partir d'autres sources ;
  • requête vide ;
  • Affichage > Editeur avancé.

Saisissez maintenant le script suivant :

let
    Prenom="cathy",
    Nom = "Monier",
    NomPrenom = Text.Upper(Nom) & " " & Text.Proper(Prenom)
in
    NomPrenom

Vous pouvez tester pour voir le résultat. Vous pouvez donc maintenant transformer votre script en fonction. Pour cela réouvrez la et Affichage > Editeur avancé.

Modifiez le script en lui ajoutant au début le code suivant.

let
    NP = (Prenom, Nom ) =>

NP représente le nom de la fonction ; les paramètres de la fonction sont saisient entre parenthèse ; => indique que ce qui suit correspond aux calculs de la fonction.

Puis à la fin du code les 2 lignes suivantes permettent de renvoyer le résultat de la fonction

in
    N

 Il faut ensuite supprimer les 2 lignes suivantes car ce sont les données envoyées à la fonction qui vont être calculées.

    Prenom="cathy",
    Nom = "Monier",

Ce qui nous donne le code :

let
    NP = (Prenom, Nom ) =>
    let
       NomPrenom = Text.Upper(Nom) & " " & Text.Proper(Prenom)
    in
        NomPrenom
in
    NP

 Fermez maintenant l'éditeur avancé, vous avez alors non pas le résultat, mais son nom avec les paramètres.

  Power Query - fonction

Utilisation d'une fonction

A partir d'un simple tableau de Nom et prénoms, j'appelle Power Query

Power Query - Source

Dans l'interface de Power Query, ajoutez une colonne personnalisée et saisissez le nom de la fonction et ajoutez entre parenthèse les 2 champs de nom et prénom :

NP([Nom],[Prénom])

Validez et vous avez ainsi instantanément le résultat

Power Query - resultat

Partage d'une fonction sur SharePoint

  1. Clic-droit sur votre fonction dans le volet Requêtes du classeur ;
  2. Envoyer au catalogue de données ;
  3. Donnez une description et décochez Télécharger les premières lignes pour l'aperçu puisque celle-ci ne renvoit rien.
  4. sur l'onglet PARTAGE indiquez qui peut l'utiliser dans l'entreprise
  5. Clic sur Envoyer.

Pour la réutiliser dans un autre classeur Excel, cliquez sur le bouton Requêtes de mon catalogue de données situé sur l'onglet POWER QUERY.