Top - fonction de graphique

La fonction Top() évalue une expression au niveau de la première ligne (du haut) d'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 du haut. Pour les autres graphiques que les tables, l'évaluation de la fonction Top() porte sur la première ligne de la colonne active dans l'équivalent du tableau simple du graphique.

Syntaxe :  

Top([TOTAL] expr [ , offset [,count ]])

Type de données renvoyé : double

Arguments :  

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

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

Si vous spécifiez un décalage négatif, la fonction Top aboutit au même résultat que la fonction Bottom 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 count valeurs, une pour chacune des count dernières lignes du segment de colonne actif. 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.

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

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.

Exemples et résultats :  

Exemple : 1

Customer Sum(Sales) Top(Sum(Sales)) Sum(Sales) + Top(Sum(Sales)) Top offset 3
  2566 587 3153 3249
Astrida 587 587 1174 1270
Betacab 539 587 1126 1222
Canutility 683 587 1270 1366
Divadip 757 587 1344 1440

Dans la représentation du graphique de table affiché dans cet exemple, la table est créée à partir de la dimension Customer et des mesures : Sum(Sales) et Top(Sum(Sales)).

La colonne Top(Sum(Sales)) renvoie 587 pour toutes les lignes, car il s'agit de la valeur de la ligne supérieure : Astrida.

La table présente également des mesures plus complexes : une mesure créée à partir de Sum(Sales)+Top(Sum(Sales)) et une autre intitulée Top offset 3, créée à l'aide de l'expression Sum(Sales)+Top(Sum(Sales), 3) et comportant l'argument offset défini sur 3. Elle ajoute la valeur Sum(Sales) de la ligne active à la valeur de la troisième ligne en partant de la ligne du haut, autrement dit, la ligne active plus la valeur correspondant à Canutility.

Exemple : 2

Dans les représentations des graphiques de table affichés dans cet exemple, d'autres dimensions ont été ajoutées aux graphiques : Month et Product. 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. (Certaines lignes ne sont pas affichées par souci d'économie d'espace.)

Customer Product Month Sum(Sales) First value
      2566 -
Astrida AA Jan 46 46
Astrida AA Feb 60 46
Astrida AA Mar 70 46
... ... ... ... ...
Astrida AA Sep 78 46
Astrida AA Oct 12 46
Astrida AA Nov 78 46
Astrida AA Dec 22 46
Astrida BB Jan 46 46
Première table pour l'exemple 2. Valeur de Top associée à la mesure First value d'après la ligne Month (Jan).
Customer Product Month Sum(Sales) First value
      2566 -
Astrida AA Jan 46 46
Astrida BB Jan 46 46
Astrida AA Feb 60 60
Astrida BB Feb 60 60
Astrida AA Mar 70 70
Astrida BB Mar 70 70
Astrida AA Apr 13 13
Astrida BB Apr 13 13
Deuxième table pour l'exemple 2. Valeur de Top associée à la mesure First value d'après la ligne Product (AA pour Astrida).

Pour plus de détails, reportez-vous à l'exemple : 2 dans la fonction Above.

Exemple : 3

Résultat

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

Dans les arguments de la fonction Top(), offset est défini sur 1 et count est défini sur 3. La fonction recherche les résultats de l'expression Sum(Sales) dans les trois lignes, en commençant par la ligne située en dessous de la ligne inférieure dans le segment de colonne (car offset=1) et les deux lignes situées en dessous (lorsqu'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 :
603
603
603
603

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.