Aggréger de données avec Sum

Tagged: ,

  • Aggréger de données avec Sum

    Posté par RANDRIATAHINA sur 16 mai 2023 at 13h43

    Bonjour,

    J’aimerais agréger des données pour mon rapport qui consiste à représenter la balance comptable. Je voudrai faire en sorte que toutes les données d’un numéro de compte qui commence par “75…” par exemple, soit agrégé par une somme.
    Quelqu’un saurait comment réaliser en DAX la somme en tenant en compte de la condition d’un numéro de compte ( qui commence par 75 par exemple) ?
    Merci d’avance.

    PostID=TlpncUj2oDdr72C

    RANDRIATAHINA a répondu 11 months, 3 weeks ago 1 Membre · 4 Réponses
  • 4 Réponses
  • DavidZed

    Member
    16 mai 2023 at 14h08

    Hello,

    Je sui plus à l’aise en Power Query qu’en Dax, du coup, voici ce que je ferais :

    En Power Query il est possible d’ajouter une une colonne qui reprend les 2 premiers caractères du compte. Ensuite tu peux utiliser cette colonne comme catégorie dans les visuels :

    new column = left([NumeroCompte],2)

    CommentID=0ibyWdNtntuVynH, PostID=TlpncUj2oDdr72C

    • RANDRIATAHINA

      Member
      17 mai 2023 at 14h48

      Ok je vais essayer ça. Merci 👍

      SubCommentID=BMCbOsfRQ3dbxPq, CommentID=0ibyWdNtntuVynH, PostID=TlpncUj2oDdr72C

  • ypicot

    Member
    16 mai 2023 at 16h39

    Bonjour

    En DAX, l’aggrégation se fait avec la fonction SUMMARIZE, mais qui ne peut pas faire de calcul sur la colonne de regroupement.

    Il faut donc d’abord créer une colonne CategorieCompte :

    CategorieCompte = LEFT(MaTable[NumeroCompte], 2)

    Puis utiliser cette colonne pour créer ta table :

    MaTableAggregee = SUMMARIZE(n    MaTable,n    MaTable[CategorieCompte], "Catégorie",n    SUM(MaValeur)n)

    Le cas échéant, on peut regrouper les deux opérations en utilisant un ADDCOLUMNS

    Ceci dit, la solution de David consistant à passer par Power Query pour ajouter la nouvelle colonne est souvent préférable si tu as accès à PQY (ce qui n’est pas toujours le cas).

    Au passage en M la fonction pour faire ceci n’est pas “left” mais “Text.Start” (en première approche, on peut dire que toutes les fonctions sont préfixées avec le type sur lequel elles travaillent) :

    = Text.Start([NumeroCompte], 2)

    Il est d’ailleurs possible d’ajouter cette colonne sans saisir de formule en utilisant dans le ruban >>Ajouter colonne >>Colonne texte >>Extraire >>Premiers caractères. Attention au typage, le résultat doit bien être de type texte.

    CommentID=hkfNfztgahC2ifL, PostID=TlpncUj2oDdr72C

    • RANDRIATAHINA

      Member
      17 mai 2023 at 14h50

      Ok merci beaucoup pour ces détails 👍
      Je vais essayer ça

      SubCommentID=EBpWuAvzQoDU4mP, CommentID=hkfNfztgahC2ifL, PostID=TlpncUj2oDdr72C

Connectez-vous pour répondre.