Le M Switch de Power Query simplifie la gestion des expressions conditionnelles et allège les formules de transformation de données complexes. Découvrez tout ce que vous devez savoir !
Sur Microsoft Excel et Power BI, l’outil Power Query offre de nombreuses possibilités. Son éditeur de requêtes simple et intuitif permet de collecter des données en provenance de multiples sources, de les transformer et de les charger dans un tableau.
Outre les fonctions accessibles en un seul clic depuis l’interface graphique, le langage de programmation M permet de rédiger des formules personnalisées pour des transformations plus complexes ou spécifiques.
Toutefois, les formules M peuvent devenir trop lourdes et compliquées lorsqu’il faut gérer des cas multiples ou des expressions conditionnelles complexes. Afin d’éviter ce problème, on peut utiliser le M Switch.
Comprendre les expressions conditionnelles en M
Les expressions conditionnelles en langage M permettent de définir des conditions pour transformer les données. Elles servent notamment à effectuer des opérations comme la suppression de lignes, la modification de valeurs ou la fusion de colonnes.
Les conditions sont généralement basées sur des comparaisons, des évaluations de valeur et des tests logiques. La structure basique d’une expression conditionnelle en M est la suivante :
« if [condition] then [value_if_true] else [value_if_false] »
Afin d’effectuer des tests multiples, il est possible d’imbriquer plusieurs expressions conditionnelles. Pour éviter une syntaxe trop lourde, il est préférable d’utiliser le M Switch.
Qu’est-ce que le M Switch ?
Dans les langages de programmation, une fonction Switch permet d’évaluer une expression ou une variable et d’exécuter un bloc de code en fonction de sa valeur.
On l’utilise souvent pour simplifier les expressions conditionnelles complexes, et pour éviter les structures de contrôles imbriquées telles que les boucles if/else.
Elle permet de spécifier une liste de cas ou de valeurs possible pour une expression donnée, puis de fournir une action ou un bloc de code à exécuter pour chaque cas.
De nombreux langages de programmation ont une fonction Switch, notamment JavaScript, Python, C# et Visual Basic.
C’est également le cas du langage de formules M incorporé à Power Query pour Microsoft Excel et Power BI.
À quoi ça sert ?
Le M Switch de Power Query permet de sélectionner des actions spécifiques à effectuer en fonction des valeurs d’une colonne de tableau ou d’une autre condition.
Il s’agit d’un outil de transformation conditionnelle servant à effectuer des opérations sur des valeurs spécifiques. L’utilisateur peut spécifier des valeurs à rechercher et des opérations à effectuer pour chaque valeur trouvée.
C’est particulièrement utile pour le traitement de données lorsqu’il est nécessaire de gérer plusieurs cas conditionnels, puisqu’il permet de les organiser en une seule formule facile à lire et à comprendre.
De même, M Switch permet de remplacer l’imbrication excessive de fonctions comme les clauses if/then pouvant rendre la formule difficile à lire et à maintenir.
Enfin, cet outil est très pratique pour effectuer des transformations de données avancées sur des données complexes.
En résumé, le M Switch atténue la complexité des formules, facilite leur maintenance et leur modification, et réduit le risque d’erreurs telles que des oublis de valeur ou l’utilisation d’une opération logique incorrecte.
Comment fonctionne le M Switch ?
Le fonctionnement du M Switch repose sur l’évaluation d’une série d’expressions conditionnelles jusqu’à ce qu’une condition soit vraie. Dès que la condition est vraie, Switch retourne la valeur correspondante ou exécute l’action associée à cette condition.
Sa syntaxe est la suivante :
« M Switch(expression, {valeur1, résultat1}, {valeur2, résultat2}, ..., {valeurN, résultatN}, [default]) »
L’argument « expression » est l’expression ou la variable à évaluer, tandis que les arguments « valeur1 », « valeur2 », « valeurN » sont les valeurs possibles de l’expression à évaluer.
De leur côté, les arguments « résultat1 », « résultat2 », « résutlatN » sont les résultats à retourner si l’expression évaluée correspond à la valeur correspondante.
Enfin, « default » est un argument optionnel spécifiant la valeur à retourner si l’expression évaluée ne correspond à aucune des valeurs spécifiées dans la liste.
Voici un exemple d’utilisation du M Switch de Power Query pour créer une colonne calculée en fonction de la valeur d’une autre colonne :
« let
Source = Table.FromRecords({
[Fruit= »Pomme », Prix=2.0],
[Fruit= »Banane », Prix=1.5],
[Fruit= »Orange », Prix=2.5]
}),
# »Ajouter une colonne calculée » = Table.AddColumn(Source, « Catégorie », each
M Switch([Fruit],
{« Pomme », « Orange »}, « Fruit commun »,
{« Banane »}, « Fruit exotique »,
[Fruit]
)
)
in
# »Ajouter une colonne calculée » »
Dans cet exemple, une colonne calculée appelée « Catégorie » a été ajoutée en utilisant le M Switch pour attribuer une catégorie à chaque fruit en fonction de sa valeur.
Si le fruit est une pomme ou une orange, la valeur de la colonne « Catégorie » sera « Fruit commun ». S’il s’agit d’une pomme ou d’une orange, la valeur sera « Fruit exotique ». Enfin, si le fruit n’est ni une pomme, ni une orange, ni une banane, la valeur de la colonne sera égale à celle de la colonne « Fruit ».
Conclusion : Power Query M Switch, une alternative solide à l’imbrication if/then
Vous l’aurez compris : le M Switch de Power Query est d’un précieux secours pour simplifier les formules complexes avec des expressions conditionnelles et des clauses if/then imbriquées.
C’est l’une des nombreuses possibilités offertes par Power Query dont beaucoup de néophytes ignorent l’existence. Afin de maîtriser pleinement cet outil et d’exploiter tout son potentiel, vous pouvez choisir DataScientest.
En seulement 5 jours, notre formation Power BI vous permet d’apprendre à collecter, transformer et analyser les données et à produire des tableaux de bord interactifs.
Au fil des différents modules, vous découvrirez Power Query et le langage M, les fonctionnalités de DataViz ou encore les concepts plus avancés comme les DataFlows et l’actualisation incrémentielle.
A la fin du cursus, DataScientest vous accompagne dans le passage de l’examen Microsoft PL-300 permettant d’obtenir la certification Power BI Data Analyst Associate.
Tous nos programmes se complètent intégralement en ligne, et sont éligibles au Compte Personnel de Formation pour le financement. Découvrez vite DataScientest !
Vous savez tout sur le M Switch de Power Query. Pour plus d’informations sur le même sujet, découvrez notre guide complet sur Power Query et notre dossier consacré à Power BI.