Compter le nbr d'enregistrements identiques, et intégrer ce nbr dans une table

  • Compter le nbr d'enregistrements identiques, et intégrer ce nbr dans une table

    Posté par Stephanie sur 2 avril 2025 at 15h51

    Bonjour à tous,

    Pourriez vous m’aider sur un sujet pour lequel je bloque depuis pas mal de temps ?

    Ma source de données étant une liste Sharepoint, je souhaiterai Compter le nombre de ligne ayant la même valeur dans la colonne “Mois_demande”, en l’occurrence le nom du mois, et en faire une somme, un peu comme un GroupBy, mais qui pourrait être stockée dans une variable, pour être injectée dans une table comme ci-dessous (mon approche est peu être mauvais):

    L’idée est d’avoir un tableau de ce type :

    Depuis ma liste qui ressemble à ça :

    Pour obtenir au final ceci (je l’ai obtenu en écrivant les valeurs manuellement dans ma collection):

    Mais j’avou que je ne sais pas vraiment comment m’y prendre.

    J’ai commencé par définir une collection dans laquelle je rentre mes 12 Mois “manuellement”, et j’aurai souhaité parcourir ma colonne “Date_Demande” et faire une somme par mois. Et la même chose pour “Date_Delai”. Et pour chaque ligne, saisir la valeur obtenue.

    Je ne sais pas si ma méthode est la bonne… Je sais qu’il est possible de faire un GroupBy, mais dans mon cas de figure ça ne marche pas car si je groupe sur la colonne “Date_Demande”, je vais perdre mes informations sur ma somme de “Date_Delai”.

    Avez vous des idée sur la manière de procéder?

    Merci d’avance pour votre aide !

    Fany

    • This discussion was modified 1 month, 2 weeks ago by  Stephanie.
    Stephanie a répondu 1 month, 1 week ago 3 Membres · 4 Réponses
  • 4 Réponses
  • Wangboho Lassina

    Member
    2 avril 2025 at 16h37

    Bonjour Stephanie,

    Je pense qu’avec un forall tu peux y arriver. Je m’explique.

    Dans un premier temps tu crées une table vide qui sera ta table finale :

    ClearCollect(
    RésuméParMois,
    Table(
    { Mois: “Janvier”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Février”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Mars”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Avril”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Mai”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Juin”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Juillet”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Août”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Septembre”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Octobre”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Novembre”, NbRendu: 0, NbDelai: 0 },
    { Mois: “Décembre”, NbRendu: 0, NbDelai: 0 }
    )
    )

    Ensuite avec un forall, tu parcours l’ensemble de ta table ci-dessus et tu insères le résultat du décompte que tu feras :

    ForAll(
    RésuméParMois,
    Collect(
    RésuméParMois,
    Patch(
    RésuméParMois,
    LookUp(RésuméParMois, Mois = ThisRecord.Mois),
    {
    NbRendu: CountRows(Filter(SharePointList, Text(Mois_rendu) = ThisRecord.Mois)),
    NbDelai: CountRows(Filter(SharePointList, Text(Mois_delai) = ThisRecord.Mois))
    }
    )
    )
    )

    Je ne sais pas si cela répond à ton problème mais si c’est le cas, un retour me ferait plaisir.

    Cordialement,

    SORO LASSINA

  • DavidZed

    Member
    4 avril 2025 at 7h21

    Si c’est pour de l’affichage uniquement, tu peux utiliser une galerie avec en source la liste des mois (1 à 12) :

    Sequence(12)

    Dans cette galerie, tu pourrais disposer 3 TextLabel :

    • NomDuMois : Text(Date(2025; ThisItem.Value; 1); “dddd”)
    • NbrDemande : CountIf(MaCollection; Month(Date_Demande) = ThisItem.Value)
    • NbrRendu : CountIf(MaCollection; Month(Date_Delai) = ThisItem.Value)

    Attention, à utiliser avec une collection filtrée sur l’année uniquement et un jeu de données pas trop volumineux

  • Stephanie

    Member
    4 avril 2025 at 9h07

    Bonjour,

    Et merci à vous deux pour vos réponses. Je n’ai malheureusement pas encore eu le temps de tester vos solutions, (ni de répondre plus tot) mais cela semble correspondre à ce que je recherche. Dans tous les cas, je vous ferai un retour pour vous dire si les solutions ont fonctionné.

    Il s’agit effectivement d’affichage, car je souhaite uniquement utiliser ces données pour informations, et comme source de donnée pour un graphique par exemple (pourcenatge, etc).

    Merci encore à vous, je reviens vers vous dès que possible pour vous faire un retour.

  • Stephanie

    Member
    8 avril 2025 at 18h15

    Sauriez vous me dire si il est possible de créer un graphique depuis des valeurs contenues dans une galerie ? Car c’est la solution vers laquelle je m’oriente, et j’aurai souhaité pouvoir faire un graphique avec sur l’axe “x” lenoms des mois contenu dans ma gallerie, et en “y” les valeurs d’un champ texte de la même ligne. Si cela n’est pas possible, alors il est inutile que je poursuive sur cette piste.

    Ensuite j’ai un problème.

    Comme vous l’avez conseillé, je vais filtrer sur l’année. Mais comme les dates n’étant pas les même pour “Date_demande” et “Envoi”, je dois faire plusieurs collections. Et je ne sais pas où les déclarer. J’ai bien essayé de mettre dans “OnVisible” de mon screen2, avec une collection ça fonctionne, mais si j’avoute une autre collection, ça ne fonctionne plus. Surtout que par la suite, je souhaiterai filtrer plus finemenet les données avec des ListesDeroulantes, donc reactualiser ces listes, ainsi que la gallerie. Je débute sur Power Apps, donc j’avance un peu dans le flou.

    Voici ce que j’ai réussi à faire (avec une seule collection, le nombre de demande est bien correcte) :

    Avec deux, ça coince:

    Pouvez vous m’expliquer où déclarer mes collections ? Dans des boutons ?

    Merci d’avance pour votre aide, et votre indulgence…

    • This reply was modified 1 month, 1 week ago by  Stephanie.
    • This reply was modified 1 month, 1 week ago by  Stephanie. Reason: Erreur de mise en forme

Connectez-vous pour répondre.