6 Replies Latest reply: Aug 21, 2017 9:46 AM by bruno bertels RSS

    Moyennes mobiles, semaines glissantes

    Ahmed El Midaoui

      Bonjour,

      Pour pouvoir faire des prévisions, j'ai besoin de calculer une somme qui se base sur la semaine courante et les 4 semaines récentes (5 semaines du coup). Mais je ne sais pas comment le faire sur Qlik Sense.

       

      Je vous attache un screen shot d'Excel qui vous montre en gros la formule utilisée. (la somme des verts/ la somme des bleus)

       

      Je pense aussi aux conditions aux limites (premières semaines).

      j'ai pensé à RangeAvg mais je ne sais pas quoi mettre dans les arguments. J'a lu aussi fractile mais je sais pas non plus comment l'utiliser.

       

       

      Merci d'avance.

        • Re: Moyennes mobiles, semaines glissantes
          Kevin Chevrier

          Partons du principe que tu créés un champ comme ceci dans ton script ;  week(TA_DATE) as SEMAINE_DATA

           

          La formule devrait ressembler à quelque chose comme :

          =Sum({<SEMAINE_DATA={">=$(=week(today())-4)"}*{"<=$(=week(today))"}>}MP7)

           

          Kevin

            • Re: Moyennes mobiles, semaines glissantes
              Kevin Chevrier

              Si tu veux faire un tableau avec les semaines en dimension alors l'expression donnera plutôt quelque chose comme :

               

              =Sum({<SEMAINE_DATA={">=$(=Semaine_calendrier-4)"}*{"<=$(=Semaine_calendrier)"}>}MP7)


              Il te faudra intégrer un calendrier dans le script.


              Tu utiliseras le champ Semaine_calendrier en dimension (et non pas SEMAINE_DATA)

               

              Exemple de calendrier :

              // Calendrier

               

               

              LET vDateMin = Floor(YearStart(AddYears(today(),-2))); 

              LET vDateMax = Floor(YearEnd(today())); 

               

               

              CalendrierTemp: 

              LOAD

              Date($(vDateMin) + RowNo() - 1) AS Date_Ref 

              AUTOGENERATE 1 

              WHILE $(vDateMin)+IterNo()-1<= $(vDateMax); 

               

               

              Calendrier:

              LOAD Year(Date_Ref)*10000 + Month(Date_Ref)* 100 + Day(Date_Ref) as Period_id,

              Date(Date_Ref) as Date_Ref,

                   Num(Month(Date_Ref)) as Mois,

                   Month(Date_Ref) as Mois_Lib,

                   Year(Date_Ref) as Annee,

                   Week(Date_Ref) as Semaine_calendrier,

                   'T'&Ceil(Month(Date_Ref)/3) as Trimestre,

                   'S'&Ceil(Month(Date_Ref)/6) as Semestre,

                   Year(Date_Ref)&Num(Month(Date_Ref),'00') as Période,   

                   Num(Month(Date_Ref),'00')&'/'&Year(Date_Ref) as MMYYYY,

                   AutoNumber(Year(Date_Ref)&Num(Month(Date_Ref),'00')) as Seq_Période,

                   if(Date_Ref=floor(MonthEnd(Date_Ref)),1,0) as FDM

              Resident CalendrierTemp

              order by Date_Ref;

               

               

              DROP TABLE CalendrierTemp;

            • Re: Moyennes mobiles, semaines glissantes
              Ahmed El Midaoui

              Salut kevin, merci pour ta réponse, mais j'avoue que pendant tout le week end j'essaie d'appliquer ce que tu dis, alors que je ne comprends pas en fait la signification, est ce que j'ai besoin de créer un nouveau champs de semaines? Parce que j'en ai déjà un, et c'est celui que j'utilise pour calculer d'autres mesures et faire les visualisations, il est importé de ma base de donnée.

               

              Je précise donc:

              Mon champs est déjà crée, il s'appelle Week et contient comme valeurs:  2017W01, 2017W02 ... 2017W28

               

              Ce que je veux faire en fait c'est:

              Calculer, pour chaque semaine 'x' de ce champs Week  la quantité suivante:

               

              1  - [  (  Somme des 'MP1' sur les semaines de "x-4" à "x"  )  /  (  Somme des 'MP2' sur les semaines de "x-4" à "x"  )  ].

               

              moyenne glissante.JPG

              • Re: Moyennes mobiles, semaines glissantes
                bruno bertels

                Bonjour

                 

                Ton calcul doit apparaitre dans un KPI ou un tableau ? comme sur ton exemple Excel ?

                 

                Sinon dans ton tableau essaye ceci :

                 

                rangesum(above(MP7,0,5)) / rangesum(above(VOL7,0,5))

                 

                Bruno