Fonctions M de base dans Power BI

Le langage M est vaste, bien trop vaste pour autre chose qu’un bref aperçu dans un seul chapitre. Néanmoins, pour donner une certaine structure à l’aperçu, il convient de savoir qu’il existe quelques catégories clés de fonctions M qui pourraient vous être utiles lorsque vous commencerez à utiliser M.

La liste suivante n’est en aucun cas exhaustive, mais peut, espérons-le, servir de point de départ pour votre voyage dans les fonctions M. Les catégories élémentaires sont

  • Fonctions de texte
  • Fonctions de date
  • Fonctions horaires
  • Fonctions DateHeure
  • Fonctions logiques
  • Fonctions numériques

Je me concentre sur ces catégories car elles sont probablement les plus facilement compréhensibles tant dans leur application que dans leur utilisation. Une fois que vous avez vu certaines de ces fonctions, nous pouvons passer à d’autres fonctions parmi la gamme de celles disponibles.

La plupart des fonctions M les plus élémentaires peuvent être appliquées d’une manière qui vous rappellera probablement leurs homologues Excel. Par exemple, si vous souhaitez étendre la formule que vous avez utilisée pour concaténer les colonnes Make et Model afin d’extraire uniquement les trois caractères les plus à gauche de Make, vous pouvez utiliser un code comme celui-ci :

= Table.AddColumn(#”Changed Type”, “CarType”, chaque Text.Start([Make], 3) & ” ” & [Model])

Le résultat est illustré à la Figure .

Application d’une première fonction de texte

Comme vous pouvez le voir, encapsuler la colonne Make dans cette fonction de texte particulière a ajouté une couche supplémentaire de transformation de données à l’expression.

Fonctions de texte

Plutôt que de vous guider étape par étape à travers tous les exemples possibles de fonctions de texte, je préfère vous montrer certaines des fonctions de texte les plus utiles (du moins, d’après mon expérience). Ces extraits de code sont donnés dans le tableau , où vous reconnaîtrez sans aucun doute de nombreuses fonctions auxquelles vous avez accédé jusqu’à présent via l’interface utilisateur de Power Query.

Tableau . Exemples de fonctions de texte

Production Extrait de code La description
La gauche Text.Start([Make],3)                     renvoie les trois premiers caractères de la colonne Make.
droite Text.End([Make],3)                           renvoie les trois derniers caractères de la colonne Make.
jusqu’à un caractère spécifique Text.Start([Make], Text.PositionOf([Make],” “)) renvoie les caractères les plus à gauche jusqu’au premier espace.
jusqu’à un délimiteur Text.BeforeDelimiter(

[InvoiceNumber], “-” ,”2″)

 

renvoie le texte avant le troisième trait d’union.
longueur du texte Text.Length([Make])                         Trouve la longueur d’un texte
extraire une sous-chaîne Text.Range([Make], 2,  3)     extrait un nombre spécifique de caractères d’un texte, en commençant à une position spécifiée.
supprimer un sous-texte Text.RemoveRange([Make], 2,  3)   supprime un nombre spécifique de caractères d’un texte, en commençant à une position spécifiée.
remplacer un texte Text.Replace([Make], “o”,  “a”)     remplace tous les caractères o par un a dans le texte ou la colonne.
espaces de garniture Text.Trim([Make])                             supprime les espaces de début et de fin dans le texte ou la colonne.
Convertir en majuscule Text.Upper([Make]) Convertit le texte ou la colonne en majuscules.
Convertir en minuscule Text.Lower([Make]) Convertit le texte ou la colonne en minuscules.
ajouter des majuscules initiales Text.Proper([Make]) ajoute des majuscules initiales à chaque mot du texte ou de la colonne.

Si vous avez examiné attentivement ces fonctions, vous avez probablement remarqué que tous les paramètres numériques sont basés sur zéro. Ainsi, pour définir le troisième trait d’union lors du fractionnement du texte dans une colonne, vous utiliserez 2, et non 3.

Il y a, inévitablement, beaucoup plus de fonctions de texte disponibles dans M. Cependant, le but n’est pas de noyer le lecteur dans des détails techniques, mais de vous faire prendre conscience à la fois de la façon dont M fonctionne et de ce qui est possible.

Une fois que vous avez également appris le langage DAX pour créer des calculs dans Power BI, vous vous demandez peut-être pourquoi vous effectuez des opérations comme celle-ci dans Power BI Desktop Query alors que vous pouvez faire pratiquement la même chose dans le modèle de données. Eh bien, c’est vrai qu’il y a un certain chevauchement; vous avez donc le choix de l’utiliser. Vous pouvez effectuer certaines opérations à plusieurs étapes du processus de préparation et d’analyse des données. Tout dépend de la façon dont vous utilisez les données et avec quel outil vous effectuez les analyses.

Le tableau  n’est qu’un sous-ensemble des fonctions de texte disponibles dans M. Si vous souhaitez voir la liste complète, elle se trouve sur le site Web de Microsoft à l’adresse https://docs.microsoft.com/en-us/ powerquery-m/ fonctions de texte.

Fonctions numériques

Pour étendre vos connaissances, le tableau  montre quelques-unes des fonctions numériques disponibles dans M. Ici, je me suis concentré sur la présentation de certaines des conversions de type numérique ainsi que des fonctions de calcul de base.

Tableau. Exemples de fonctions numériques

Production Extrait de code La description
renvoie un entier 8 bits Int8.From(“25”) Convertit le texte ou le nombre en entier 8 bits.
renvoie un entier 16 bits Int16.From(“2500”) Convertit le texte ou le nombre en entier 16 bits.
renvoie un entier 32 bits

 

Int32.From(“250,000”) Convertit le texte ou le nombre en entier 32 bits.
renvoie un entier 64 bits

 

Int64.From(“2500000000”) Convertit le texte ou le nombre en entier 64 bits.
renvoie un nombre décimal

 

Decimal.From(“2500”) Convertit le texte ou le nombre en nombre décimal.
renvoie une valeur numérique Double à partir de la valeur donnée Double.From(“2500”) Convertit le texte ou le nombre en nombre à virgule flottante.
prend un texte comme source et le convertit en

une valeur numérique

Number.FromText(“2500”)                Convertit le texte en nombre.
arrondit un nombre Number.Round(5000,  0)         arrondit le nombre vers le haut ou vers le bas au nombre de décimales (ou dizaines, centaines, etc., pour les paramètres négatifs).
arrondit un nombre Number.RoundUp(5020,  -2)       arrondit le nombre au nombre de décimales supérieur (ou dizaines, centaines, etc., pour les paramètres négatifs).
arrondit un nombre vers le bas Number.RoundDown(100.01235,  2)  arrondit le nombre au nombre de décimales (ou dizaines, centaines, etc., pour les paramètres négatifs).
supprime le signe Number.Abs(-50)                               renvoie la valeur absolue du nombre.
s’élève à une puissance Number.Power(10, 4)                          renvoie la valeur du premier paramètre à la puissance du second.
Modulo Number.Mod(5,  2)                                renvoie le reste résultant de la division entière du nombre par le diviseur.
Indique le signe d’un nombre Number.Sign(-1) renvoie 1 si le nombre est un nombre positif, -1 s’il s’agit d’un nombre négatif et 0 s’il est égal à zéro.
donne la racine carrée Number.Sqrt(4)                                renvoie la racine carrée du nombre.

 

Remarque Si vous êtes un utilisateur d’Excel, vous pouvez probablement voir une similitude distincte avec la façon dont vous créez des formules dans Excel et Power Pivot, sauf qu’ici (comme dans Power Pivot), vous utilisez des noms de colonne plutôt que des références de cellule.

Le tableau  n’est qu’un sous-ensemble mineur de la vaste gamme de fonctions numériques disponibles dans M. Si vous souhaitez voir la liste complète, elle se trouve sur le site Web de Microsoft à l’adresse https://docs.microsoft.com/en- us/powerquery-m/nombre-fonctions.

 

Fonctions de date

M a de nombreuses fonctions de date. Le tableau 12-4 contient un échantillon potentiellement utile des fonctions disponibles.

Tableau  Exemples de fonctions de date

Production Extrait de code La description
Jour Date.Day(Date. FromText(“25/07/2020”)) renvoie le numéro du jour de la semaine à partir d’une date.
Année Date.Month(Date. FromText(“25/07/2020”))

 

renvoie le numéro du mois à partir d’une date.
 

Jour de la semaine

Date.Year(Date. FromText(“25/07/2020”)) renvoie l’année à partir d’une date.
nom du jour de la semaine Date.DayOfWeekName(Date. FromText(“25/07/2020”))

 

 

renvoie le nom du jour de la semaine à partir d’une date.
Premier jour du mois Date.StartOfMonth(Date. FromText(“25/07/2020”)) renvoie le premier jour du mois à partir d’une date
Dernier jour du mois Date.EndOfMonth(Date. FromText(“25/07/2020”)) renvoie le dernier jour du mois à partir d’une date.
Premier jour de l’année Date.StartOfYear(Date. FromText(“25/07/2020”)) renvoie le premier jour de l’année à partir d’une date.
Dernier jour de l’année Date.EndOfYear(Date. FromText(“25/07/2020”))

 

renvoie le dernier jour de l’année à partir d’une date.
Jour de l’année Date.DayOfYear(Date.

FromText(“25/07/2020”))

 

renvoie le jour de l’année à partir d’une date.
Semaine de l’année Date.WeekOfYear(Date.

FromText(“25/07/2020”))

 

renvoie la semaine de l’année à partir d’une date.
Trimestre Date.QuarterOfYear(Date.

FromText(“25/07/2020”))

renvoie le numéro du trimestre à partir d’une date.
Premier jour du trimestre Date.StartOfQuarter(Date. FromText(“25/07/2020”))

 

renvoie le premier jour du trimestre à partir d’une date
Dernier jour du trimestre Date.EndOfQuarter(Date. FromText(“25/07/2020”))

 

renvoie le dernier jour du trimestre à partir d’une date.

 

Le tableau  n’est qu’un sous-ensemble des fonctions de date disponibles dans M. Si vous souhaitez voir la liste complète, elle se trouve sur le site Web de Microsoft à l’adresse https://docs.microsoft.com/en-us/ powerquery-m/ fonctions de date.

 

Fonctions de temps

M a également de nombreuses fonctions temporelles. Le tableau 12-5 contient un échantillon potentiellement utile des fonctions disponibles.

Tableau . Exemples de fonctions de temps

Production Extrait de code La description
heure Time.Hour(#time(14, 30, 00)) renvoie l’heure à partir d’une heure.
Minute Time.Minute(#time(14, 30,   00))     renvoie la minute d’une heure.
Second       Time.Second(#time(14, 30,   00))     renvoie la seconde à partir d’un temps.
temps à partir de la fraction Time.From(0.5)                                   renvoie l’heure à partir d’une fraction de jour.

 

 

Le tableau  n’est qu’un sous-ensemble des fonctions de temps disponibles dans M. Si vous souhaitez voir la liste complète, elle se trouve sur le site Web de Microsoft à l’adresse https://docs.microsoft.com/en-us/ powerquery-m/ fonctions temporelles.

De même, comme elles sont si similaires aux fonctions date et heure, je n’ai pas montré ici les fonctions datetime et les fonctions datetimezone. Ceux-ci sont également disponibles sur le site Web de Microsoft.

 

Fonctions de durée

M peut également extraire des durées, en jours, heures, minutes et secondes. Le tableau  montre certaines des fonctions de durée de base.

Tableau . Exemples de fonctions de durée

Production Extrait de code La description
Journées Duration.Days(#duration(10, 15.55, 20)) Durée en jours.
heures Duration.Hours(#duration(10, 15, 55, 20)) Duration in hours.
Minutes Duration.Minutes(#duration(10, 15, 55, 20)) Durée en minutes.
Secondes Duration.Seconds(#duration(10,15, 55, 20)) Durée en secondes.

 

Le tableau  répertorie presque toutes les fonctions de durée disponibles dans M. Si vous souhaitez voir les quelques fonctions restantes, elles se trouvent sur le site Web de Microsoft à l’adresse https://docs.microsoft. com/en-us/powerquery-m/duration-functions.

          Concepts M

Le moment est venu de « retirer les stabilisateurs » du vélo et d’apprendre à rouler sans aide. Cela signifie, tout d’abord, se familiariser avec plusieurs concepts structuraux M.

Il s’agit de passer des fonctions « starter » permettant de modifier le contenu des données à la création et la modification des structures de données elles-mêmes. M est essentiellement axé sur le chargement et la présentation de structures de données tabulaires, de sorte que les tables de données constituent une structure de données essentielle. Cependant, il existe d’autres structures de données qu’il peut manipuler — et que vous avez vues en passant dans les chapitres précédents. Dans ce chapitre, nous examinerons donc les trois structures de données de base. Collectivement, celles-ci sont classées comme des valeurs structurées, par opposition aux valeurs primitives telles que le texte, le nombre ou la date et l’heure. Certains d’entre eux sont

 

  • Listes

 

  • Enregistrements

 

  • Les tables

 

Cependant, avant de plonger dans ces éléments de données structurés, vous devez comprendre deux aspects fondamentaux du langage M. Ceux-ci sont

 

  • Types de données

 

  • Valeurs M (également appelées variables ou identifiants) Alors, sans plus tarder, commençons votre voyage vers M.
S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x

Suivez - nous sur Facebook pour être parmi les premiers
à profiter de nos derniers articles et astuces...