Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Comparer sur la même ligne la valeur de Year n et celle de Year N-1

Bonjour à tous,

J'aimerais avoir dans la même ligne la valeur de la colonne  Year N et la colonne Year N-1. pour mieux comprendre je voudrais obtenir le résultat suivant:

YearSum(Net) Year NSum(Net) Year N-1
2013150
2014915
2015129
20161712
20172517

L'expression qui se rapproche le plus à la solution que je voulais c'est:

Sum({<Year={"$(=(Year(AddYears(Date('01/01/'& Year),-1))))"}>}TOTAL  [Net])

mais le problème est que j'obtiens le résultat rechercher que quand je sélectionne une valeur Year sinon j'ai que des zéros.

Merci en avance pour votre aide.

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

‌Bonjour,

le set analysis est appliqué avant d'entrer dans le tableau. L'ensemble de données utilisé sera donc le même pour tout le tableau. Les filtres du aux valeurs de champs des dimensions du tableau s'appliquent après coup sur cet ensemble de données.

En gros, on ne peut pas utiliser directement des dimensions utiliséles dans le tableau, dans le set analysis d'u expression de ce même tableau.

Tu peux ne pas utiliser de set analysis, du moins pas pour la dimension Year, et comme te l'a conseillé Kevin utiliset la fonction Above(Sum([Net])) --> voir aide https://help.qlik.com/fr-FR/qlikview/12.1/Subsystems/Client/Content/ChartFunctions/InterRecordFuncti...

==> le problème, c'est que tu n'aura jamais de données pour N-1 sur ta 1ère ligne. Si tu sélectionnes les années 2014 à 2016, tu n'auras pas de valeur N-1 pour 2014 alors qu'elle existe

SI non, tu peux utiliser la fonction Above(Only({$<Year=>} Aggr(Sum({$<Year=>} [Net]), Year)))  qui devrait toujours te retourner un résultat si il existe

View solution in original post

3 Replies
kevinchevrier
Partner - Creator III
Partner - Creator III

Pour N-1 peux tu essayer d'utiliser la même fonction que N mais en l'entourant de la fonction above()

Kevin

sfatoux72
Partner - Specialist
Partner - Specialist

‌Bonjour,

le set analysis est appliqué avant d'entrer dans le tableau. L'ensemble de données utilisé sera donc le même pour tout le tableau. Les filtres du aux valeurs de champs des dimensions du tableau s'appliquent après coup sur cet ensemble de données.

En gros, on ne peut pas utiliser directement des dimensions utiliséles dans le tableau, dans le set analysis d'u expression de ce même tableau.

Tu peux ne pas utiliser de set analysis, du moins pas pour la dimension Year, et comme te l'a conseillé Kevin utiliset la fonction Above(Sum([Net])) --> voir aide https://help.qlik.com/fr-FR/qlikview/12.1/Subsystems/Client/Content/ChartFunctions/InterRecordFuncti...

==> le problème, c'est que tu n'aura jamais de données pour N-1 sur ta 1ère ligne. Si tu sélectionnes les années 2014 à 2016, tu n'auras pas de valeur N-1 pour 2014 alors qu'elle existe

SI non, tu peux utiliser la fonction Above(Only({$<Year=>} Aggr(Sum({$<Year=>} [Net]), Year)))  qui devrait toujours te retourner un résultat si il existe

Not applicable
Author

ah ok! Merci beaucoup à vous deux.