BAR : Produire d'un graphique à barres

Comment :

Langages disponibles : reporting, Maintain

La fonction BAR produit un graphique à barres horizontales utilisant des caractères répétitifs pour former chaque barre. En option, vous pouvez créer une échelle pour préciser le sens d'un graphique à barres en remplaçant le titre de la colonne contenant la barre avec une échelle.


Haut de page

x
Syntaxe : Créer un graphique à barres
BAR(barlength, infield, maxvalue, 'char', output)

où :

barlength

Numérique

est la longueur maximale de la barre, en caractères. Si cette valeur est inférieure ou égale à 0, la fonction ne renvoie pas une barre.

infield

Numérique

est le champ de données tracé comme un graphique à barres.

maxvalue

Numérique

est la valeur maximale d'une barre. Cette valeur doit être supérieure que la valeur maximale stockée dans infield Si la valeur infield est supérieure à la valeur maxvalue, la fonction utilise maxvalue et renvoie une barre de longueur maximale.

'char'

Alphanumérique

est la répétition de caractères créant les barres entouré par des guillemets simples. Si vous spécifiez plus d'un caractère, seul le premier caractère est utilisé.

output

Alphanumérique

est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples. Le champ de sortie doit être assez large pour contenir une barre de longueur maximale comme défini par barlength.



Exemple : Créer un graphique à barres

BAR crée un graphique à barres pour le champ CURR_SAL ; la sortie est stockée dans SAL_BAR. La barre est limitée à 30 caractères de long, et la valeur qu'il représente peut pas être supérieur à 30000.

TABLE FILE EMPLOYEE
PRINT CURR_SAL AND COMPUTE
SAL_BAR/A30 = BAR(30, CURR_SAL, 30000, '=', SAL_BAR);BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'PRODUCTION';
END

La sortie est :

LAST_NAME       FIRST_NAME         CURR_SAL  SAL_BAR 
---------       ----------         --------  -------
BANNING         JOHN             $29,700.00  =========================== 
IRVING          JOAN             $26,862.00  ========================== 
MCKNIGHT        ROGER            $16,100.00  ================ 
ROMANS          ANTHONY          $21,120.00  ===================== 
SMITH           RICHARD           $9,500.00  ========== 
STEVENS         ALFRED           $11,000.00  ===========


Exemple : Créer un graphique à barres avec une échelle

BAR créé un graphique à barres pour le champ CURR_SAL. La requête remplace alors le nom du champ SAL_BAR avec une échelle en utilise la phrase AS.

Pour exécuter cette requête sur une plate-forme pour laquelle la police proportionnelle est par défaut, utiliser soit une police non proportionnelle, ou attribuer SET STYLE = OFF avant d'exécuter la requête.

SET STYLE=OFF
TABLE FILE EMPLOYEE
HEADING
"CURRENT SALARIES OF EMPLOYEES IN PRODUCTION DEPARTMENT"
"GRAPHED IN THOUSANDS OF DOLLARS"
" "
PRINT CURR_SAL AS 'CURRENT SALARY'
AND COMPUTE
    SAL_BAR/A30 = BAR(30, CURR_SAL, 30000, '=', SAL_BAR);
    AS '    5   10   15   20   25   30,----+----+----+----+----+----+'
BY LAST_NAME AS 'LAST NAME'
BY FIRST_NAME AS 'FIRST NAME'
WHERE DEPARTMENT EQ 'PRODUCTION';
ON TABLE SET PAGE-NUM OFFON TABLE SET
STYLE * GRID=OFF, $END

La sortie est :

CURRENT SALARIES OF EMPLOYEES IN PRODUCTION DEPARTMENT 
GRAPHED IN THOUSANDS OF DOLLARS
                                               5 10 15 20 25 30 
LAST NAME    FIRST NAME    CURRENT SALARY ----+----+----+----+----+----+ 
---------    ----------    -------------- ------------------------------ 
BANNING      JOHN          $29,700.00     ============================= 
IRVING       JOAN          $26,862.00     =========================== 
MCKNIGHT     ROGER         $16,100.00     ================ 
ROMANS       ANTHONY       $21,120.00     ===================== 
SMITH        RICHARD        $9,500.00     ========== 
STEVENS      ALFRED        $11,000.00     ===========

Information Builders