Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

New Contributor

Cacher certains champs d'une dimension

Bonjour,

Je rencontre un problème avec un graphique combiné.

J'ai une mesure dans laquelle je calcule la somme de données d'un mois, du mois précédent et le mois encore avant.
J'ai créé une dimension Month qui récupère les 14 derniers mois d'entrer de données et je souhaiterais n'afficher que les 12 derniers mois dans mon graphique

Or, si je récupère que 12 mois, la valeur de la mesure de février 2017 (voir image) sera nul, car elle ne pourra pas calculer les données des M-1 et M-2, à savoir décembre 2016 et janvier 2017.

Je souhaiterais donc savoir comment cacher les 2 premiers mois de mon graphique, décembre 2016 et janvier 2017.

En vous remerciant de votre réponse,

Pierrick B.

Sans titre.png

1 Solution

Accepted Solutions
Highlighted
Partner
Partner

Re: Cacher certains champs d'une dimension

Je pense que j'ai trouvé le problème.

Essaye avec cette formule :

Sum(Aggr(

RangeSum(Above(([Design Actuals] - SUM({<[CR Type] = {'Defect'}, [Severity] = {'Minor','Bypassing','Major','Blocking'}>} RangeSum(fabs([analysis_cost]), fabs([actual_real_cost])))),0,3))

/ ([Design Actuals]*3)

, Month)

)

View solution in original post

24 Replies
Highlighted
Contributor II

Re: Cacher certains champs d'une dimension

Bonjour,

L'image que tu affiche indique le résultat souhaité ou celui que tu as déjà ?

Marwen

Highlighted
Valued Contributor II

Re: Cacher certains champs d'une dimension

Bonjour

Si je comprend bien il faut pouvoir "masquer" les mois de la dimension lorsque la mesure est = à 0

Donc essayer avec une dimension calculée

en dimension peut etre quelque chose comme çà

if(

aggr(

Tamesure

,Month)='0',Month)

Highlighted
Partner
Partner

Re: Cacher certains champs d'une dimension

‌Faudrait plutôt l’écrire comme ceci :

if(

aggr(

TonExpression

,Month)<>0,Month)

Highlighted
Valued Contributor II

Re: Cacher certains champs d'une dimension

exact

Highlighted
New Contributor

Re: Cacher certains champs d'une dimension

Bonjour,

L'image affiché est le résultat actuel.

Pour ce qui est de l'expression, je pense avoir compris le raisonnement.

Pour la dimension de ce graphique, on utilise un If qui affiche l'expression seulement si l'expression n'est pas vide.
Cependant, ma dimension est un élément principal et si je ne dis pas de bêtises, je ne peux donc pas entrer "TonExpression" (donc ma mesure) dans le champ de ma dimension? Cela fausserais la dimension des autres graphiques non?

Ou je n'ai pas compris et il faut entrer le champ de ma dimension actuelle dedans.

Actuellement, j'utilise cette expression :

=If(

[Month] > MonthStart(today(), -16)

and

[Month] < MonthStart(today(), -1) , [Month])

Faut-il que je mette cette expression a la place de "TonExpression"? Si c'est le cas, le résultat attendu n'est pas celui obtenu.

En vous remerciant de vos réponses,

Pierrick B.

Highlighted
Partner
Partner

Re: Cacher certains champs d'une dimension

Ok,

Dans ce cas, tu peux créer une autre dimension que tu utiliseras uniquement pour ce graphique :

=If(

[Month] > MonthStart(today(), -14)

and

[Month] < MonthStart(today(), -1) , [Month])

Highlighted
Valued Contributor II

Re: Cacher certains champs d'une dimension

Bonjour

Si ta mesure est sum(ca)

if(

aggr(

sum(ca)

,Month)<>0,

If(

[Month] > MonthStart(today(), -16)

and

[Month] < MonthStart(today(), -1) , [Month])

)

Highlighted
New Contributor

Re: Cacher certains champs d'une dimension

Bonjour,

Je ne peux pas faire "MonthStart(today(),-14)" car dans ce cas-ci, je retire de ma dimension les deux premières valeurs qui me permettent de calculer la valeur du troisième mois (février) dans mes mesures.

Je n'ai pas compris ce que représente "sum(ca)".
Je peux vous faire parvenir le champ d'une de ma mesure je pense :

(([Design Actuals]-(

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Minor'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Bypassing'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Minor'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Bypassing'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Major'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Blocking'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Major'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Blocking'}>}fabs([actual_real_cost]))

)

)+Above(([Design Actuals]-(

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Minor'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Bypassing'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Minor'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Bypassing'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Major'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Blocking'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Major'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Blocking'}>}fabs([actual_real_cost]))

)

),1)+Above(([Design Actuals]-(

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Minor'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Bypassing'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Minor'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Bypassing'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Major'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Blocking'}>}fabs([analysis_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Major'}>}fabs([actual_real_cost]))

+

SUM({<[CR Type] = {'Defect'}, [Severity] = {'Blocking'}>}fabs([actual_real_cost]))

)

),2))

/

([Design Actuals]*3)

Ayant avancé sur d'autre mesures, toutes fonctionne avec "above(,1)" et "above(,2)".

Pierrick.

Highlighted
Partner
Partner

Re: Cacher certains champs d'une dimension

Tu peux "MonthStart(today(),-14)" dans ta dimension, si tu écrit ton expression ainsi :

Sum(Aggr(

RangeSum(Above(([Design Actuals] - SUM({<[CR Type] = {'Defect'}, [Severity] = {'Minor','Bypassing','Major','Blocking'}>} RangeSum(fabs([analysis_cost]), fabs([actual_real_cost])))),0,2))

/ ([Design Actuals]*3)

, Month)

)

J'ai pu simplifier ton expression :

  • en regroupant les Severity :     [Severity] = {'Minor','Bypassing','Major','Blocking'}
  • en regroupant les mesures :    RangeSum(fabs([analysis_cost]), fabs([actual_real_cost]))
  • en regroupant le 3 mois :         RangeSum(Above(..., 0, 2))

Et grâce à l'Aggr j'effectue le calcul pour tout les mois, indépendamment de ceux demander dans le graphique.