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: 
Anonymous
Not applicable

Problème de total dans un objet table

Bonjour,

Dans une table, je souhaite voir apparaitre une ligne uniquement Si la ressource à une activité particulière sur la période concernée.

Pour définir cette condition, j'ai su construire la formule suivante :

($(vJoursOuvrés)  /  count(distinct {1<AnneeMois={$(vMois)},Projet_SousClasse={"*GRUE*"}   ,SSTraitance={'NON'} ,Projet_LieuAffectation={'$(vSite)'},

Projet_SousClasse={'$(vType)'}  , TauxOccupation={'1'}     >} AnneeMois))

-

(

((Count({1<AnneeMois={$(vMois)} >}distinct  Jour)   *   count(distinct {1<AnneeMois={$(vMois)},Projet_SousClasse={"*GRUE*"}   ,SSTraitance={'NON'} ,Projet_LieuAffectation={'$(vSite)'}, Projet_SousClasse={'$(vType)'}  , TauxOccupation={'1'} 

>} Projet_Description)))

/

count(distinct {1<AnneeMois={$(vMois)},Projet_SousClasse={"*GRUE*"}   ,SSTraitance={'NON'} ,Projet_LieuAffectation={'$(vSite)'},

Projet_SousClasse={'$(vType)'}  , TauxOccupation={'1'}     >} AnneeMois)

-

(Sum({<AnneeMois={$(vMois)},Projet_SousClasse={'*grue*'},  Atelier={'1'} ,Projet_LieuAffectation={'$(vSite)'}, Projet_SousClasse={'$(vType)'}   >} TauxOccupation )   +   sum({<AnneeMois={$(vMois)}, Projet_SousClasse={'$(vType)'},SSTraitance={'NON'} ,Projet_LieuAffectation={'$(vSite)'} ,Projet_SousClasse={"*GRUE*"}>} JoursLibres)   ))

>0

Le calcul souhaité est :

sum({<AnneeMois={$(vMois)}, Projet_SousClasse={'$(vType)'},SSTraitance={'NON'} ,Projet_LieuAffectation={'$(vSite)'} ,Projet_SousClasse={"*GRUE*"}>} JoursLibres)

Je fais précéder ce calcul d'un IF avec la condition définie ci avant pour n'obtenir ce calcul que dans la condition stipulée.

dans le schéma, la colonne 'Non planifié' tient compte de la condition, la colonne 'Test' n'en tient pas compte.

Si pour 'Non planifié' les résultats, pris individuellement sont correct, le total présenté est cependant erroné.

Il semble ne pas tenir compte du IF....

Quelqu'un sait-il me venir en aide afin que je puisse un total correct ?

Merci par avance.

Frédéric

1 Solution

Accepted Solutions
vincent_ardiet
Specialist
Specialist

Je n'ai pas assez d'éléments pour écrire votre expression.

Mais voici un exemple qui revient au même je pense.

La seconde expression retourne un total qui est faux, quand elle est encapsulée dans un aggr (3ième expression) c'est correct.

View solution in original post

5 Replies
vincent_ardiet
Specialist
Specialist

Si on ne peut pas faire autrement qu'utiliser un IF dans l'expression (ce qui n'est pas terrible pour les performances), pour qu'il fonctionne dans le total je pense qu'il faut l'encapsuler dans un AGGR portant sur la dimension principale du tableau.

Cela donnerait un truc dans le genre :

if (Dimensionality()=0,sum(aggr(<mon calcul>,<ma dimension>)),<mon calcul>))

Anonymous
Not applicable
Author

Merci pour votre retour (il va falloir être très patient   )

Le 'if' étant dans une variable l'expression est :

If ($(vSiGrue)>0,

sum({<AnneeMois={$(vMois)}, Projet_SousClasse={'$(vType)'},SSTraitance={'NON'} ,Projet_LieuAffectation={'$(vSite)'} ,Projet_SousClasse={"*GRUE*"}>} JoursLibres))

Si je reviens vers vous, c'est que je n'arrive pas à appliquer votre proposition. Pourriez vous la reformuler avec ems valeurs svp ?

Merci par avance.

Frédéric

vincent_ardiet
Specialist
Specialist

Je n'ai pas assez d'éléments pour écrire votre expression.

Mais voici un exemple qui revient au même je pense.

La seconde expression retourne un total qui est faux, quand elle est encapsulée dans un aggr (3ième expression) c'est correct.

Anonymous
Not applicable
Author

MERCI !

Anonymous
Not applicable
Author

merci pour la reponse.

Énorme méconnaissance de la fonction «total» partie de ma: il suffisait FINALEMENT, Dans la dimension calculee, de modificateur la fonction des Totaux de 'Auto' à 'Sum'