Below

Below() La fonction évalue une expression au niveau de la ligne située en dessous de la ligne active dans un segment de colonne d'une table. La ligne pour laquelle elle est calculée dépend de la valeur de décalage offset (si présente), le paramètre par défaut étant la ligne située directement en dessous. Pour les autres graphiques que les tables, l'évaluation de la fonction Below() porte sur la ligne située en dessous de la colonne active dans l'équivalent du tableau simple du graphique.

Syntax:  

Below([TOTAL] expression [ , offset [,count ]])

Return data type: double

Arguments:  

Argument Description
expr Expression ou champ contenant les données à mesurer.
offset

Si vous spécifiez un décalage offsetn supérieur à 1, l'évaluation de l'expression est déplacée de n lignes en dessous de la ligne active.

Si vous spécifiez un décalage égal à 0, l'expression est évaluée sur la ligne active.

Si vous spécifiez un décalage négatif, la fonction Below aboutit au même résultat que la fonction Above avec le décalage positif correspondant.

count

Si vous spécifiez un troisième paramètre count supérieur à 1, la fonction renvoie une plage de valeurs count, une pour chacune des lignes de table count situées en dessous de la cellule de départ. De cette façon, la fonction peut être utilisée comme argument pour l'une des fonctions de plage spéciales. Fonctions de plage

TOTAL

Si la table est unidimensionnelle ou si le qualificateur TOTAL est utilisé comme argument, le segment de colonne actif est toujours égal à la colonne entière.

Définition de l'étendue d'une agrégation

Pour la dernière ligne d'un segment de colonne, la fonction renvoie une valeur NULL, puisqu'il n'y a pas de ligne en dessous.

Remarque: Un segment de colonne se définit comme un sous-ensemble de cellules consécutives dotées des mêmes valeurs de dimensions dans l'ordre de tri actif. Les fonctions graphiques d'inter-enregistrements sont calculées dans le segment de colonne excluant la dimension située le plus à droite dans l'équivalent du tableau simple du graphique. Si le graphique ne comprend qu'une seule dimension ou si le qualificateur TOTAL est spécifié, l'évaluation de l'expression porte sur la table entière.
Remarque: Si la table ou l'équivalent en tableau comporte plusieurs dimensions verticales, le segment de colonne actif comprend uniquement les lignes contenant les mêmes valeurs que la ligne active dans toutes les colonnes de dimensions, à l'exception de la colonne affichant la dernière dimension dans l'ordre de tri inter-champs.

Limitations:  

Les appels récursifs renvoient la valeur NULL.

Examples and results:  

Example 1:  

Customer Sum(Sales) Below(Sum(Sales)) Sum(Sales) + Below(Sum(Sales)) Below offset 3 Higher?
  2566 - - 1344 -
Astrida 587 539 1126 - Higher
Betacab 539 683 1222 - -
Canutility 683 757 1440 - -
Divadip 757 - - - -
Graphique de la table pour l'exemple 1.

Dans la représentation du graphique de table affiché pour l'exemple 1, la table est créée à partir de la dimension Customer et des mesures : Sum(Sales) et Below(Sum(Sales)).

La colonne Below(Sum(Sales)) renvoie NULL pour la ligne Customer contenant Divadip, puisqu'il n'y a aucune ligne en dessous. Le résultat de la ligne Canutility affiche la valeur de Sum(Sales) pour Divadip tandis que le résultat relatif à Betacab indique la valeur de Sum(Sales) pour Canutility et ainsi de suite.

La table présente également des mesures plus complexes, affichées dans les colonnes étiquetées : Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 et Higher?. Ces expressions fonctionnent comme décrit dans les paragraphes suivants.

Pour la colonne intitulée Sum(Sales)+Below(Sum(Sales)), la ligne relative à Astrida affiche le résultat de l'addition des valeurs Sum(Sales) des lignes Betacab + Astrida (539+587). Le résultat de la ligne Betacab affiche le résultat de l'addition des valeurs Sum(Sales) de Canutility + Betacab (539+683).

La mesure intitulée Below +Offset 3, créée à l'aide de l'expression Sum(Sales)+Below(Sum(Sales), 3), comporte l'argument offset, défini sur 3, et a pour effet de prendre la valeur de la ligne située trois lignes en dessous de la ligne active. Elle ajoute la valeur Sum(Sales) de la ligne Customer active à la valeur de la ligne Customer située trois lignes en dessous. Les valeurs renvoyées pour les trois dernières lignes Customer sont nulles.

La mesure étiquetée Higher? est créée à partir de l'expression :IF(Sum(Sales)>Below(Sum(Sales)), 'Higher'). Elle compare les valeurs de la ligne active dans la mesure Sum(Sales) à celles de la ligne située en dessous. Si la ligne active comporte une valeur plus élevée, le texte Higher est généré.

Conseil: Cette fonction peut également s'utiliser dans d'autres graphiques que les tables, dans les histogrammes par exemple.
Conseil: Pour les autres types de graphique, convertissez le graphique en équivalent de tableau simple afin de pouvoir facilement interpréter la ligne à laquelle la fonction est liée.

Pour les graphiques comportant plus d'une dimension, les résultats d'expressions contenant les fonctions Above, Below, Top et Bottom dépendent de l'ordre dans lequel les dimensions de colonne sont triées par QlikView. QlikView évalue les fonctions d'après les segments de colonne résultant de la dernière dimension qui a été triée. L'ordre de tri des colonnes est déterminé sous l'option Trier. Il ne correspond pas nécessairement à l'ordre d'affichage des colonnes dans une table.Pour plus de détails, consultez l'exemple 2 de la fonction Above.

Example 2:  

Résultat

La fonction Below peut s'utiliser comme donnée d'entrée dans les fonctions de plage. Par exemple : RangeAvg (Below(Sum(Sales),1,3)).

Dans les arguments de la fonction Below(), offset est défini sur 1 et count sur 3. La fonction trouve les résultats de l'expression Sum(Sales) sur les trois lignes situées immédiatement en dessous de la ligne active dans le segment de colonne (où il y a une ligne). Ces trois valeurs sont utilisées comme données d'entrée dans la fonction RangeAvg(), qui calcule la moyenne des valeurs de la plage de nombres fournie.

Une table comprenant la dimension Customer donne les résultats suivants pour l'expression RangeAvg().

 
Astrida
Betacab
Canutility
Divadip :
659.67
720
757
-

Données utilisées dans les exemples :

Monthnames:

LOAD * INLINE [

Month, Monthnumber

Jan, 1

Feb, 2

Mar, 3

Apr, 4

May, 5

Jun, 6

Jul, 7

Aug, 8

Sep, 9

Oct, 10

Nov, 11

Dec, 12

];

Sales2013:

crosstable (Month, Sales) LOAD * inline [

Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec

Astrida|46|60|70|13|78|20|45|65|78|12|78|22

Betacab|65|56|22|79|12|56|45|24|32|78|55|15

Canutility|77|68|34|91|24|68|57|36|44|90|67|27

Divadip|57|36|44|90|67|27|57|68|47|90|80|94

] (delimiter is '|');

Pour que les mois soient triés dans l'ordre correct, au moment de la création des graphiques, accédez à l'onglet Sort des propriétés du graphique, puis cochez la case Expression sous Sort by. Dans la zone de l'expression, spécifiez Monthnumber.