Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
emna_hassassi
Partner - Contributor
Partner - Contributor

Utilisation de la fonction Below?

Bonjour,

j'ai utilisé dans une table dans la COL2 la fonction Below :    Below(sum([Vente. Montant ]))

pour afficher  une comparaison entre les ventes des années (N) et  (N-1)

COL1              COL2

CA 2017  ---->  CA 2016

CA 2016  ----> CA 2015

CA 2015 ----->CA 2014


et puis le groupement au niveau des mois, ça correpond à notre besoin dans le projet

COL1                   COL2

Janvier 2017 -->   Fev 2017

Fev 2017     -->   Mars2017

Mars 2017  -->   Avril 2017


comment je peux avoir un tel affichage et dans le meme tableau :


COL1                    COL2

Janvier 2017  -->  Janvier 2016

Fev 2017       -->   Fev 2016

Mars 2017     -->   Mars 2016

Labels (1)
1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

Lorsque l'on se trouve dans un tableau dynamique avec plusieurs dimension et que l'on utilise la fonction Below, il faut jouer avec:

  • TOTAL pour pouvoir déborder sur les autres segments, sinon on reste bloqué dans le segment dans lequel on se trouve
  • Dimensionality() pour savoir à quel niveau d'ouverture des dimensions on se trouve
    • 1 --> Année ouverte, mois fermé
    • 2 --> Année ouverte, mois ouvert
  • Offset qui doit être défini à 12 lorsque les mois sont ouverts

Ce qui donne l'expression suivantes:

If( Dimensionality() = 1,
    
Below(TOTAL Sum(Valeur_x)),
    
If( Dimensionality() = 2,
         
Below(TOTAL Sum(Valeur_x), 12),
         
Null()
     )
)

     

ATTENTION, les mois de toutes les années doivent être ouvert ou fermé pour que cela fonctionne correctement.

View solution in original post

8 Replies
sunny_talwar

May be this

Below(Sum([Vente. Montant ]), 12)

emna_hassassi
Partner - Contributor
Partner - Contributor
Author

Hi, no it doesn't work.

i don't want this result  with the function below

image 1.jpg

i want this result   : i need to compare the CA of the months of this two years

image2.png

Not applicable

Si vous avez les mois en dimension de votre tableau vous pouvez utliser des Set Analysis dans vos expressions :

     Sum({<year={2017}>} [Vente. Montant ]) & Sum({<year={2016}>} [Vente. Montant ])

Ou un max de year et un max de year -1, si vous ne voulez pas figer l'année.

emna_hassassi
Partner - Contributor
Partner - Contributor
Author

c'est un tableau croisé dynamique

donc comme une premiére étape, j'ai ce resultat qui convient aux besoins avec la fonction Below :

3.png

par contre l'affichage des mois aprés n'est pas convenable  pour mon besoin :

2.png

je veux avoir comparaison entre les mois de N et N-1 --->   {Janvier 2017 et Janvier 2016}

et non pas le mois aprés comme il est convenu avec la fonction Below ,

si j'utilise Set Analysis dans mes expressions tout le tableau va etre affecter

je veux ce résultat:

image2.png

merci pour votre collaboration

sunny_talwar

Not sure why Below won't work? Another option is to use The As-Of Table

Not applicable

Bonjour,

Pour tout avoir dans un tableau, vous pouvez appliquer ce que je vous ai proposé :

En dimension seulement le noms du mois.

Expressions 1 : label : max(year)

Sum({<date.year={"$(=Max(date.year))"}>} [Vente. Montant ])


Expressions 2 : label : max(year)-1

Sum({<date.year={"$(=Max(date.year)-1)"}>} [Vente. Montant ])

sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

Lorsque l'on se trouve dans un tableau dynamique avec plusieurs dimension et que l'on utilise la fonction Below, il faut jouer avec:

  • TOTAL pour pouvoir déborder sur les autres segments, sinon on reste bloqué dans le segment dans lequel on se trouve
  • Dimensionality() pour savoir à quel niveau d'ouverture des dimensions on se trouve
    • 1 --> Année ouverte, mois fermé
    • 2 --> Année ouverte, mois ouvert
  • Offset qui doit être défini à 12 lorsque les mois sont ouverts

Ce qui donne l'expression suivantes:

If( Dimensionality() = 1,
    
Below(TOTAL Sum(Valeur_x)),
    
If( Dimensionality() = 2,
         
Below(TOTAL Sum(Valeur_x), 12),
         
Null()
     )
)

     

ATTENTION, les mois de toutes les années doivent être ouvert ou fermé pour que cela fonctionne correctement.

emna_hassassi
Partner - Contributor
Partner - Contributor
Author

Merci Sébastien c'est fait!  thanks a lot