aggregate multi group

Bonjour,
Je cherche à sortir le nombre de visite par candidat/catégorie.
Sachant que sur 1 candidat, il y a 1 vue dans la 1ere catégorie et 6 vue dans la 2eme.
Merci à vous.

export function button1_click(event) {
    // Boite 5 : Compter le nombre de vue par candidat et par catégorie
    const filter = $w('#dropdown5').value;
    let filtreCandidat = filter;
    const filter1 = $w('#dropdown6').value;
    let filtreCategorie = filter1;
   wixData.aggregate('visites')
   .group(filtreCandidat, filtreCategorie)  
   .sum("vue", "sumP")
   .run()
   .then((result) => {
       var vues = result.items[0].sumP
       if(vues >= 1){
           $w('#text81').text = vues.toString()
       } else { $w('#text81').text = '0'}
   })

Your code looks very good. You should ensure that you have a test to ensure that you are summing valid data. If the selected data does not exist, then it returns no items. I’ve added a check to your code to ensure that a valid summed record is returned:

Do you want to sum the number of visits, or count them? Is it correct that there is one record for every visit? If so, then maybe count() would be better than sum.

Do you have a specific error, that it is not working?

 export function button1_click(event) {
    // Boite 5 : Compter le nombre de vue par candidat et par catégorie
    const filter = $w('#dropdown5').value;
    let filtreCandidat = filter;
    const filter1 = $w('#dropdown6').value;
    let filtreCategorie = filter1;
    wixData.aggregate('visites')
    .group(filtreCandidat, filtreCategorie)  
    .sum("vue", "sumP")
    .run()
    .then((result) => {
        if (result.items.length >0) {
            $w('#text81').text = result.items[0].sumP.toString();
        } else {
            $w('#text81').text = '0';
        }
    })
    .catch((error) => {
        console.log("[button1_click]:Erreur détectée:/n"+error.message);
    });
}

Merci Paul,
Je veux juste le total du nombre de visite par candidat. Exemple, Le candidat 1 peut avoir par exemple 3 visites sur la catégorie A et 1 visite sur la catégorie B et le candidat 2, 3 visites sur la catégorie A et 2 sur la catégorie C.
Au total, pour chaque candidat, je voudrais obtenir pour le candidat 1 : un total de 4 visites et pour le candidat 2 : un total de 5 visites.

Pour le code erreur, que vous m’avez fait je n’ai pas d’erreur spécifique.
Par contre, j’ai cette erreur :
WDE0053: Internal wixData error: Request ID:1652003760.027560823944318474

Je vous remercie pour avoir pris le temps de me répondre.

Ok, I think I see your issue. Only group by Candidate. This will sum all the visits by the candidate. Your code is grouping by (candidat, catagorie). You do not want to sum by categories, only by candidate. The group() tells it how to sum.

Ok, je vois mon erreur. Je me suis compliqué la vie pour rien :joy:.
Vraiment un grand merci à vous Paul :beers: