Une liste est simplement un ensemble de valeurs séparées par des virgules entre accolades, telles que {1,2,3}
Une fois intégrée dans la structure d’une requête M, elle pourrait ressembler à l’exemple illustré à la figure .
Une liste dans l’éditeur avancé
Une fois créée, soit comme étape intermédiaire dans une requête, soit comme sortie finale de la requête, la liste peut être utilisée par tout ce qui nécessite une liste comme entrée. En effet,
si vous cliquez sur le bouton Terminé pour l’exemple précédent, l’éditeur Power Query affichera ce morceau de code M sous la forme d’une liste fonctionnelle, exactement comme celle que vous avez créée au chapitre . Vous pouvez donc maintenant créer des listes personnalisées pour les paramètres (par exemple ) rapidement et facilement.
Il y a quelques informations techniques que vous devez connaître sur les listes :
- Les listes sont de taille illimitée.
- Les listes peuvent contenir des données du même type (c’est-à-dire que tous les éléments sont des valeurs numériques, des dates ou des textes, par exemple) ou les données peuvent être de types différents.
- Les listes peuvent être vides, c’est-à-dire composées d’une paire d’accolades vides.
- Les listes peuvent être saisies horizontalement ou verticalement. C’est-à-dire que la liste affichée
plus tôt aurait pu être tapé comme Source = { 1, 2,3 }
Générer des listes est vraiment facile ; savoir quand utiliser des listes est la partie la plus difficile.
Génération de séquences à l’aide de listes
Les listes ont de nombreuses utilisations en M, mais il y a un domaine où elles brillent, et c’est la génération de séquences de nombres, de dates ou de textes. Plutôt que d’expliquer laborieusement chaque approche individuellement, j’ai rassemblé un ensemble d’exemples d’extraits de code M pour la génération de liste dans le tableau .
Tableau . Génération de liste
Extrait de code | Description |
{1..100} | une séquence ininterrompue de nombres de 1 à 100 inclus. |
{1..100, 201..400} | une séquence ininterrompue de nombres de 1 à 100, puis de 201 à 400. |
Liste.Numéros(0, 100, 5) | À partir de zéro, incréments de 5 jusqu’à ce que 100 soit atteint. |
{“A”..”Z”} | |
List.Dates(#date(2020, 1, 1),
|
chaque jour individuel pour l’année 2020 – à partir du 1er janvier, |
366, #duration(1, 0, 0, 0)) | 2020, 366 jours (exprimés en durée en jours) sont ajoutés |
List.Times(#time(1, 0, 0),
24, #duration(0, 1, 0, 0)) |
chaque heure de la journée à partir de 1h du matin. |
Accéder aux valeurs d’une liste
Si vous passez à un codage M plus avancé, vous voudrez peut-être vous référer à une valeur d’une liste dans votre script M. Dans sa forme la plus simple, cela se fait à l’aide de références de position. Voici un court morceau de code M qui fait exactement cela:
let in
Start = {“George”,”Bill”,”George W.”, “Barack”, “Donald”}, source = Start{3} Source
La sortie de cet extrait de code est le quatrième élément de la liste, ce qui montre que les listes dans M sont basées sur zéro. Autrement dit, le premier élément d’une liste est l’élément 0.
Fonctions de liste
Il existe plusieurs dizaines de fonctions de liste disponibles dans M. Beaucoup trop nombreuses pour être détaillées ici. Donc, pour vous donner une idée de certaines des manières possibles de manipuler les listes, jetez un œil au tableau 12-9. Tous utilisent la liste très simple que vous avez vue précédemment.
Tableau. Fonctions de liste
Production | Extrait de code | Description |
Première valeur | List.First(MyList) | renvoie le premier élément d’une liste. |
Dernière valeur | List.Last(MyList) | renvoie le dernier élément d’une liste. |
Trier les valeurs de la liste | List.Sort(MyList) | Trie les valeurs dans une liste. |
gamme d’extraits | List.Range(MyList, 4) | extrait une plage de valeurs d’une liste. |
valeur(s) de retour | List.Select(MyList , each _ =”Adam”) | renvoie les éléments d’une liste qui correspondent à un critère. |
générer une liste | List.Generate() | Creates a list of sequential values. |
valeurs agrégées | List.Sum(MyList) | regrouper les valeurs numériques dans une liste. |
remplacer les valeurs | List.ReplaceMatchingItems
(MyList, {“Joe”, “Fred”})
|
remplace une plage de valeurs dans une liste. |
Convertir en liste | Table.Column(MyList) | renvoie une colonne d’une table sous forme de liste. |
Le tableau n’est qu’un petit sous-ensemble des fonctions de liste disponibles dans M. Si vous voulez voir la gamme complète des fonctions, c’est sur le site Web de Microsoft à l’adresse https://docs.microsoft. com/en-us/powerquery-m/list-functions.