Power Query – M – Objets


Power Query met à notre disposition plusieurs objets que vous devez apprendre  à manipuler pour pouvoir programmer correctement.

L'objet Table

 

Si ce n'est déjà fait, vous pouvez télécharger les fichiers sources sur le site de l'excellent  livre M is for (Data) Monkey écrit par Ken Puls et Miguel Escobar  dont nous nous sommes inspiré Télécharger les fichiers pour écrire ce post.

  • Obtenir les données --> Excel --> Ch19 Examples\Power Query Objects.xlsx
  • Selectionnez Sales
  • Cliquez sur Modifier
  • Dans l'écran Etapes appliquées, cliquez sur source

 

 

Nous pouvons voir que la colonne [Data] est de type Table.

Nous pouvons avoir le détail de chacune en cliquant à coté du mot Table.

En aperçu nous pouvons voir que l'objet est composé de colonnes et de lignes.

Nous pouvons générer la table en cliquant sur le mot Table ou développer toutes les tables par fusion, en cliquant sur la flèche double de l'entête de  la colonne [Data].

Listes

Une liste est une colonne de données qui peuvent être de type différents.

Commençons par créer une liste simple :

  • Obtenir les données --> Requête simple
  • ={1,2,3}

 

 

Nous pouvons voir que Power query a bien créé une liste et non une table, en identifiant le symbole de liste entouré en jaune, ainsi que le menu Outils liste, auquel nous avons désormais accès.

Ce menu nous permet de transformer la liste en table, de supprimer ou conserver des éléments de la liste, de supprimer les doublons, de trier et de réaliser des statistiques simples.

Au lieu de rentrer les valeurs une à une , nous pouvons créer aisémment une liste de valeur consécutives en utilisant les caractères ".."

  • = {1..1000}
  • = {"A".."Z"}

Nous pouvons aussi aisémment transformer une colonne de table en liste.

  • Cliquez sur la Requête Sales
  • Cliquez sur fx  pour créer une nouvelle étape
  • = #"Type modifié"[Inventory Item]

 

 

Nous pouvons aussi créer des listes de listes pour stocker des informations, par exemple :

  • = {{1,"A"},{2,"B"}}

 

Cette liste peut alors être convertie en Table

  • Cliquez sur Vers la Table

La table contient une seule colonne avec trois objets liste.

Cette colonne peut alors être développée, en cliquant sur la flèche double.

Deux possibilités s'offrent alors à nous :

  • Développer les listes sur de nouvelles lignes.
  • Extraire les valeurs.

 

 

 

La première solution développe les listes sans une seule colonne, en ajoutant les données les une à la suite des autres.

Selon vos besoins, vous pourrez préférer la seconde solution, qui vous permet d'extraire les valeurs de chaque liste, en les séparant par un caractère au choix.

Par ce biais, il sera par la suite aisé de fragmenter les informations sous forme de table.

 

Enregistrements

Contrairement aux listes qui présentent les données verticalement, dans une colonne, les enregistrements les présentent horizontalement, comme dans une base de données.

  • Obtenir les données --> Requête vide -->= [Pays="France",Langue="Français",Monnaie="Euro"]
  • Convertir--> En table
  • Transformer-->Transposer

 

Pour créer plusieurs enregistrements, il suffit de les stocker au sein d'une liste :

  • = {[Pays="France",Langue="Français",Monnaie="Euro"],[Pays="USA",Langue="Anglais",Monnaie="Dollar"]}
  • Convertir--> Vers la table
  • Cliquer sur la double flèche-->Décochez Utiliser le nom...

Nous obtenons une table de données.

Nous pouvons aussi récupérer une ligne d'une table, sous forme d'enregistrement.

  • Obtenir les données--> Excel-->Ch19 Examples \ Power Query Objects.xlsx
  • Sélectionnez Sales
  • Ajoutez une nouvelle étape en cliquant sur fx
  • = #"Type modifié"{2}

 

Cette formule nous a permis de récupérer les données de la troisième ligne de la table.

Nous pourrions même récupérer la valeur d'un des champs de cet enregistrement, par exemple en écrivant :

= #"Type modifié"{2}[Price]

 

Qui retourne la valeur 45.

 

Si nous voulons récupérer chaque ligne sous forme d'enregistrement il va falloir ruser en ajoutant une colonne d'index.

  • Ajouter une colonne --> Colonne d'index

Cette colonne permet d'identifier chaque ligne par un nombre entier auquel nous allons pouvoir faire référence.

Renommez cette étape dans le volet Etapes appliquées --> IndexDesLignes

 

Maintenant, nous pouvons ajouter une nouvelle colonne

  • Ajouter une colonne-->Colonne personnalisée
  • IndexDesLignes{[Index]}

Valeurs

L'objet Valeurs ressemble à l'objet enregistrement, mais ne peut apparaître que lorsque deux tables sont en relation dans une base de données.

 

Binaires

Ce sont essentiellement des fichiers (Texte,Csv,Excel etc...), dont nous avons traité les techniques d'extraction dans nos articles précédents.

 

 

 

 

 

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *