BAR - 棒グラフを作成

BAR 関数は、横棒グラフを作成します。棒には、繰り返し文字が使用されます。必要に応じて、棒グラフを明確にするために目盛りを作成することができます。これには、棒を含むカラムタイトルを目盛りで置き換えます。

棒グラフを作成

BAR(barlength, infield, maxvalue, 'char', output'outfield')

説明

barlength

数値

棒の長さの最大値をバイト数で指定します。この値が 0 (ゼロ) 以下の場合、関数は棒グラフを返しません。

infield

数値

棒グラフとして描くデータフィールドです。

maxvalue

数値

棒グラフの最大値です。この値は、infield に格納された最大値より大きくなければなりません。infield の値が maxvalue の値よりも大きい場合、関数は maxvalue を使用し、最大長の棒グラフを返します。

'char'

文字

棒グラフを作成する繰り返し文字です。文字列は一重引用符 (') で囲みます。複数の文字を指定した場合、先頭の文字のみが使用されます。

output outfield

文字

結果を格納するフィールド名、または出力フォーマットです。フォーマットは一重引用符 (') で囲みます。出力フィールドには、barlength に定義された最大値の長さを持つ棒グラフの表示に十分な長さが必要です。

棒グラフを作成

BAR 関数は、CURR_SAL フィールドの棒グラフを作成し、出力結果を SAL_BAR に格納します。作成された棒の長さは 30 バイト以下で、表す値は 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

出力結果は次のとおりです。

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

目盛り付き棒グラフを作成

BAR 関数は、CURR_SAL フィールドの棒グラフを作成します。リクエストは、AS 句を使用して「SAL_BAR」というフィールド名を目盛りで置き換えます。

デフォルトのフォントがプロポーショナルであるプラットフォームでこのリクエストを実行する場合、プロポーショナル以外のフォントを使用するか、リクエストの実行前に 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 OFF
ON TABLE SET STYLE * GRID=OFF, $
END

出力結果は次のとおりです。

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

棒グラフを作成

BAR 関数は、CURR_SAL フィールドの棒グラフを作成し、出力結果を SAL_BAR に格納します。作成された棒の長さは 30 バイト以下で、表す値は 30,000 以下である必要があります。

COMPUTE SAL_BAR/A30 = BAR(30, CURR_SAL, 30000, '=', SAL_BAR);