3 Replies Latest reply: May 19, 2014 2:46 PM by Joseph Musekura RSS

    Clause Group by


      Bonjour à tous,

       

      Je voudrais savoir le source de cette erreur de QlikView "qlikview error aggregation expressions required by group by clause".

      quand je charge mes données :

      Load

      Date(date1,'DD/MM/YYYY') as D1,

      Valeur1 ,

      Valeur2,

      'ID' as ID,

      sum(Valeur1)+sum(Valeur2) as Somme

      From Table1

      Group by ID;

      mais ça ne fonctionne pas et ça m'affiche un message d'erreur.(J'ai aussi essayé de mettre d'autres champs dans la clause Group by )

       

      Merci d'avance

        • Re: Clause Group by
          Massimo Grossi

          load

               dim1,

               dim2,

               dim3,

               sum(field1),

               count(field2)

          from

               table1

          group by

               dim1,

               dim2,

               dim3;

           

          all your fields should be with an aggregation function or in the group by part of the load

          • Re: Clause Group by
            Henric Cronström

            Dans cette instruction vous avez des références directes à date1, Valeur1, Valeur2 et ID. Alors, il faut que vous ayez tous les 4 champs dans le Group By.

             

            Mais je ne pense pas que c'est ce que vous voulez faire ... Si vous aggregez dans le script, il serait logique d'utiliser date1 et ID dans votre Group By.

             

            Load

            Date(date1,'DD/MM/YYYY') as D1,

              "ID" as ID,

              sum(Valeur1)+sum(Valeur2) as Somme

            From Table1

              Group by date1, ID;

             

            L'alternative est de charger les données sans Group By et faire la somme dans un tableau/graphique dans l'interface d'utilisateur.

             

            HIC

            • Re: Clause Group by
              Joseph Musekura

              Bonjour

               

              Dans l'onglet AIDE group by est ainsi définie:  une clause utilisée pour déterminer par quels champs les données doivent être agrégées (groupées). Les champs d'agrégation doivent être inclus d'une manière ou d'une autre dans les expressions chargées. Aucun autre champ que les champs d'agrégation ne peut être utilisé en dehors des fonctions d'agrégation dans les expressions chargées.

               

              Exemple1:
              Load NoArt, round(Sum(MontantTrans),0.05) as NoArtTotal

              from table.csv groupby NoArt;


              Exemple2:
              Load Semaine, NoArt, round(Avg(MontantTrans),0.05) as MoyennesNoArtSemaine from table.csv group
              by Semaine, NoArt;

               

              Toutes les dimensions concernées doivent être incluses dans GROUP BY.

               

              Cdt,