Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
celkaenel
Contributor III
Contributor III

Pivot table valeur 0 quand rajoute un mois

Bonjour,

J’ai un soucis avec l’expression AGGR() sur une table en pivot qui marche avec 1 mois mais pas quand j’en ajoute un 2eme tout est faux. J’ai toute une colonne qui prend  0 (ligne %) et les autres valeurs devienent fausse voir les captures d’écran.

Savez-vous pourquoi ? 

Mon expression :

if(Dimensionality()=0,
     sum(aggr($(vPonderation)*$(vAccuracy),ITEM)),
if(Dimensionality()=1 or Dimensionality()=2 ,
     sum(aggr($(vPonderation)*$(vaccuracy),ItemGroup, ITEM))
,sum(aggr($(vPonderation)*$(vaccuracy),ITEM))
))

celkaenel_0-1632142520962.png

celkaenel_1-1632142521004.png

celkaenel_2-1632142521037.png

D'avance merci

 

4 Replies
brunobertels
Master
Master

Bonjour 

tu as une dimension "MOIS" dans ton tableau il faut l'ajouter dans ton AGRR 

celkaenel
Contributor III
Contributor III
Author

Bonjour,

C'est mieux, je n'ai plus de 0. Par contre mes chiffres changent "bizarrement" quand je rajoute des mois.

celkaenel_1-1632295496914.png

celkaenel_2-1632295622148.png

Si besoins je peux mettre à formule XLS à laquel je dois arriver dans Qlik.

D'avance merci

brunobertels
Master
Master

bonjour 

Oui se serait bien de donner unpeu plus de détail sur les formules et également les formules derrières les variables :

vPonderation

vaccuracy

celkaenel
Contributor III
Contributor III
Author

Bonjour,

Formule XLS d’origine, le calcul que je cherche à reproduire dans qlik est le total de l’accuracy (en rouge) :

celkaenel_1-1632739983239.png

Mes formules dans qlik

if(Dimensionality()=0,
    sum(aggr($(vPonderation)*$(vaccuracy),Periode,ITEM)),
if(Dimensionality()=1 or Dimensionality()=2 ,
    sum(  aggr( $(vPonderation)*$(vaccuracy),ItemGroup, ITEM, Periode)),

sum(aggr($(vPonderation)*$(vaccuracy),Periode,ITEM))
))

 

vPonderation :

if(RowNo()=0,
   sum(ORIGINAL_FORECAST_QUANTITY) / sum(total <ITEM > ORIGINAL_FORECAST_QUANTITY),
   sum(ORIGINAL_FORECAST_QUANTITY) / sum(total <ItemGroup > ORIGINAL_FORECAST_QUANTITY)
)

vaccuracy

IF(RowNo()=0,
         if($(vAccuracyPerItem)>1,sum(ORIGINAL_FORECAST_QUANTITY)/sum( ORDERED_QUANTITY),$(vAccuracyPerItem) ),

         if($(vAccuracyPerItem)>1,sum(ORIGINAL_FORECAST_QUANTITY)/sum( ORDERED_QUANTITY),$(vAccuracyPerItem) )
         )

vAccuracyPerItem

if(sum(ORIGINAL_FORECAST_QUANTITY)=0,0, fabs(if(sum(ORIGINAL_FORECAST_QUANTITY)=sum(ORDERED_QUANTITY), 100,sum(ORDERED_QUANTITY)/sum(ORIGINAL_FORECAST_QUANTITY))))

N'hésitez pas si vous avez un autre moyen de reproduire le calcul .

Merci