Référence Power Query · 4 min de lecture

Number.Abs : obtenir la valeur absolue dans Power Query

Une fonction sans surprise, utilisée à contretemps dans neuf analyses d’écart sur dix.

Mis à jour le

Number.Abs retire le signe d’un nombre : -42 devient 42, 42 reste 42. Sur une valeur nulle, elle rend null. Il n’y a rien d’autre à savoir sur son fonctionnement, ce qui rend d’autant plus utile de parler de son usage.

Syntaxe

Un paramètre, rien d’autre

Number.Abs(number as nullable number) as nullable number

Number.Abs(-123.456)   // 123.456
Number.Abs(123.456)    // 123.456
Number.Abs(null)       // null

Sur une colonne entière, on l’applique sans écrire de fonction anonyme, puisqu’elle prend exactement un argument :

Table.TransformColumns(Source, {{"Écart", Number.Abs, type number}})
Le conseil

Ne remplacez jamais l’écart signé par l’écart absolu

C’est l’erreur que nous corrigeons le plus souvent sur les tableaux de bord de suivi budgétaire. Un écart de moins 40 000 euros et un écart de plus 40 000 euros racontent deux histoires opposées. Écrasés en valeur absolue, ils deviennent la même ligne.

La valeur absolue sert à classer par ampleur, pas à mesurer. Le bon réflexe consiste donc à garder les deux colonnes.

let
    Ecart    = Table.AddColumn(Source, "Écart", each [Réel] - [Budget], type number),
    Ampleur  = Table.AddColumn(Ecart, "Ampleur", each Number.Abs([Écart]), type number),
    Classe   = Table.Sort(Ampleur, {{"Ampleur", Order.Descending}})
in
    Classe

Le rapport trie alors sur « Ampleur » et affiche « Écart ». Les vingt postes qui bougent le plus remontent en tête, qu’ils dérapent ou qu’ils s’améliorent, et le lecteur voit immédiatement dans quel sens.

Deuxième usage légitime : les contrôles de cohérence. Un rapprochement qui devrait tomber à zéro se teste sur l’écart absolu, avec une tolérance, plutôt que sur une égalité stricte que les arrondis mettent en défaut.

Table.SelectRows(Source, each Number.Abs([Débit] - [Crédit]) > 0.01)

Cette ligne isole les écritures non équilibrées de plus d’un centime, sans faire remonter le bruit des arrondis.

Questions fréquentes

Ce qu’on nous demande sur Number.Abs

Que renvoie Number.Abs sur une cellule vide ?

null, et non zéro. La nuance compte : une valeur absente n’est pas une valeur nulle, et les confondre fausse les moyennes. Si l’absence doit être traitée comme un zéro, écrivez-le explicitement avec each Number.Abs([Colonne] ?? 0).

Comment obtenir la valeur absolue en DAX ?

Avec ABS(), qui fait la même chose côté mesure. Le choix suit la règle habituelle : en Power Query quand la valeur absolue fait partie de la donnée chargée, en DAX quand elle dépend du contexte de filtre du visuel.

Number.Abs fonctionne-t-elle sur du texte ?

Non, elle attend un nombre. Sur une colonne encore typée en texte, convertissez d’abord avec Number.From, faute de quoi la fonction remonte une erreur ligne à ligne.

À côté

Les fonctions qu’on utilise avec

Sources — documentation officielle de l’éditeur, consultée le 22 août 2026 : Number.Abs, ABS.

Un suivi budgétaire qui ne montre pas les bons écarts ?

Nous reprenons la structure des tableaux de suivi pour que les dérapages remontent en tête, avec leur sens. Premier retour sous cinq jours ouvrés.

Demander un audit ou 01 83 64 60 25
01 83 64 60 25 Réserver un appel