BAR - 棒グラフを作成
BAR 関数は、横棒グラフを作成します。棒には、繰り返し文字が使用されます。必要に応じて、棒グラフを明確にするために目盛りを作成することができます。これには、棒を含むカラムタイトルを目盛りで置き換えます。
棒グラフを作成
BAR(barlength, infield, maxvalue, 'char', output'outfield')
数値
棒の長さの最大値をバイト数で指定します。この値が 0 (ゼロ) 以下の場合、関数は棒グラフを返しません。
数値
棒グラフとして描くデータフィールドです。
数値
棒グラフの最大値です。この値は、infield に格納された最大値より大きくなければなりません。infield の値が maxvalue の値よりも大きい場合、関数は maxvalue を使用し、最大長の棒グラフを返します。
文字
棒グラフを作成する繰り返し文字です。文字列は一重引用符 (') で囲みます。複数の文字を指定した場合、先頭の文字のみが使用されます。
文字
結果を格納するフィールド名、または出力フォーマットです。フォーマットは一重引用符 (') で囲みます。出力フィールドには、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);