BAR: Produzione di un grafico a barre

Come:

Lingue disponibili: reporting, Maintain

La funzione BAR produce un grafico a barre orizzontali usando caratteri ripetitivi per formare ciascuna barra. In via opzionale, è possibile creare una scala per chiarificare il significato di un grafico a barre, sostituendo il titolo della colonna contenente la barra con una scala.


Inizio pagina

x
Sintassi: Come produrre un grafico a barre
BAR(barlength, infield, maxvalue, 'char', output)

dove:

barlenght

Numerico

Lunghezza massima della barra in caratteri. Se il valore è inferiore o uguale a 0, la funzione non restituisce una barra.

infield

Numerico

È il campo dati tracciato come grafico a barre.

maxvalue

Numerico

Valore massimo di una barra. Questo valore deve essere superiore al valore massimo memorizzato in infield. Se infieldè più grande di maxvalue, la funzione utilizza maxvalue e restituisce una barra di lunghezza massima.

'char'

Alfanumerico

Carattere ripetuto che crea le barre racchiuse tra virgolette singole. Se si specifica più di un carattere, è utilizzato solo il primo carattere.

emissione

Alfanumerico

Nome del campo che contiene il risultato o il formato del valore di emissione racchiuso tra virgolette singole. Il campo di emissione deve essere abbastanza grande da contenere una barra di lunghezza massima come definito da barlenght.



Esempio: Produzione di un grafico a barre

BAR crea un grafico a barre per il campo CURR_SAL e memorizza l'emissione in SAL_BAR. La barra creata non può essere più lunga di 30 caratteri e il valore che rappresenta non può essere più lungo di 30,000.

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

L'emissione è:

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  ===========


Esempio: Creazione di un grafico a barre con una scala

BAR crea un grafico a barre per il campo CURR_SAL. La richiesta quindi sostituisce il nome campo SAL_BAR con una scala usando la frase AS.

Per eseguire questa richiesta su una piattaforma per cui il font predefinito è proporzionale, usare un font non proporzionale o emettere SET STYLE=OFF.

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

L'emissione è:

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     ===========

WebFOCUS