Découvrez comment maîtriser la fonction Table.Sort sur Power Query pour ordonner vos données avec précision, en utilisant la syntaxe M et des cas d’usage concrets en analyse de données.

L’ordre des données détermine la qualité du reporting. Un tableau de bord mal ordonné peut masquer les dépassements budgétaires ou les tendances de vente critiques. La fonction Table.Sort sur Power Query offre une maîtrise totale du classement, bien supérieure aux simples clics dans l’interface Excel.

Cette fonctionnalité du langage M permet de structurer des jeux de données complexes : ventes par région, dépenses par catégorie, ou flux de trésorerie par mois. Elle est indispensable pour préparer des modèles de données fiables avant leur importation dans Power BI.

Pourquoi utiliser Table.Sort en modélisation de données ?

Le tri manuel dans Excel est source d’erreurs et de perte de temps. Chaque nouvelle mise à jour de données nécessite une réévaluation du classement. Avec Table.Sort, le processus devient automatique et reproductible.

Les analystes de suivi l’utilisent pour :

  • Hiérarchiser les écarts budgétaires du plus important au moins critique
  • Ordonner les produits par marge décroissante pour identifier les meilleures performances
  • Classer les fournisseurs par montant de commande pour optimiser les négociations

Ce tri structuré garantit que les décideurs voient immédiatement les informations prioritaires, sans avoir à chercher manuellement dans les tableaux.

La syntaxe M : comprendre l’argument de comparaison

La syntaxe de base de Table.Sort est simple mais puissante. Elle nécessite deux arguments : le tableau à trier et les règles de comparaison.

Le code suivant illustre la structure standard :

= Table.Sort(PreviousStep, {{"Column1", Order.Ascending}, {"Column2", Order.Descending}})

Remplacez PreviousStep par le nom de votre étape précédente, comme #"Changed Type". Indiquez les colonnes et leurs ordres dans les accolades {}. Utilisez Order.Ascending pour un tri croissant et Order.Descending pour un tri décroissant.

Cette flexibilité permet de combiner plusieurs critères de tri, essentiels pour les analyses multidimensionnelles en finance.

Trier par plusieurs colonnes : un cas concret en reporting

Imaginons un rapport de ventes où vous devez classer les produits par région, puis par marge. Un simple tri par région ne suffit pas pour identifier les meilleurs produits dans chaque zone.

La solution consiste à appliquer un tri séquentiel :

  • Région : tri croissant (A à Z)
  • Marge : tri décroissant (du plus élevé au plus bas)

Le code M correspondant devient :

= Table.Sort(Source, {{"Region", Order.Ascending}, {"Margin", Order.Descending}})

Cette approche garantit que, dans chaque région, les produits les plus performants apparaissent en premier. C’est une pratique standard pour les tableaux de bord de direction.

Contrairement au tri manuel, cette méthode reste stable même si les données sources sont totalement renouvelées.

Cas d’usage : tri des écarts budgétaires

En analyse de données, identifier les écarts significatifs est crucial. Un tableau non trié masque les anomalies coûteuses. Avec Table.Sort dans Power Query, vous pouvez trier les écarts par valeur absolue.

Exemple de scénario réel :

  • Colonne « Écart » : tri décroissant pour voir les plus gros dépassements
  • Colonne « Catégorie » : tri croissant pour regrouper les postes similaires

Le code M :

= Table.Sort(BudgetData, {{"Ecart", Order.Descending}, {"Category", Order.Ascending}})

Ce tri permet aux gestionnaires de prioriser leurs actions correctives sur les postes les plus critiques, optimisant ainsi le temps d’analyse.

Vous pouvez approfondir vos compétences en tri multicolonnes avec Table.TransformColumns, une fonction pour optimiser vos données.

Tri personnalisé : quand l’ordre alphabétique ne suffit pas

L’ordre alphabétique standard est souvent insuffisant en finance. Par exemple, les mois doivent être triés chronologiquement (janvier à décembre), pas alphabétiquement (avril avant janvier).

La fonction Table.Sort sur Power Query accepte des fonctions personnalisées pour définir cet ordre. Voici comment trier les mois correctement :

= Table.Sort(Source, {each List.PositionOf({"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, [Month])})

Ce code utilise List.PositionOf pour attribuer un rang numérique à chaque mois, respectant l’ordre chronologique réel.

Tri insensible à la casse

Les données contiennent souvent des variations de mise en forme (« R&D », « r&d », « rd »). Un tri standard peut séparer ces valeurs identiques. Pour éviter cela, utilisez un tri insensible à la casse :

= Table.Sort(Source, {each Text.Upper([Category])})

Cette technique normalise les données avant le tri, garantissant une cohérence parfaite dans vos rapports.

Pour maîtriser l’ensemble des fonctions de tri et de classement, consultez le guide officiel de Microsoft sur Table.Sort Power Query.

Intégration dans le processus de modélisation Power BI

Le tri via Table.Sort dans l’éditeur Power Query ne s’arrête pas à Excel. Il est fondamental pour préparer les données avant leur chargement dans Power BI.

Un modèle bien trié améliore :

  • La performance des visualisations (moins de calculs nécessaires)
  • La lisibilité des graphiques (ordre logique des axes)
  • La qualité des analyses conversationnelles (IA Power BI)

Pour comprendre comment optimiser ce flux de données entre Excel et Power BI, référez-vous à Excel et Power BI : Comment les utiliser ensemble ?

En appliquant ces méthodes, vous transformez vos données brutes en indicateurs décisionnels clairs, prêts pour la prise de décision stratégique.

FAQ

Comment trier par ordre chronologique des mois en Power Query ?

Utilisez List.PositionOf avec une liste de mois ordonnée pour définir un rang numérique, puis appliquez Table.Sort sur ce rang.

Peut-on trier dynamiquement par un nombre variable de colonnes en M ?

Oui, en utilisant List.Select et Table.ColumnNames pour générer dynamiquement la liste de tris avant l’appel à Table.Sort.