レポートのスタイル設定(構文編)

2021年2月23日はじめてのWebFOCUS

このコンテンツでは、WebFOCUSスタイルシートの構文についてご紹介しています。

必要ライセンスWebFOCUS Reporting Server制約事項
カテゴリレポーティング動作確認バージョン8.2.06

WebFOCUS スタイルシート

スタイルシートは、レポートやグラフをどのような外観にするかを定義するものです。

レポートのスタイルシートでは、
・テキスト(フォントの種類、サイズ、スタイル)
・色(テキストや背景の色)
・条件付きスタイル
・ページサイズ
・ページマージン
・罫線、イメージ
などが設定できます。

レポートやグラフを作成時、リクエスト内で個別にスタイルを設定することもできますが、スタイルシートを外部ファイルに保存することで使いまわしが可能になります。

スタイルシートの概要

スタイルシートの宣言

ON TABLE SET STYLE * ~ ENDSTYLE でスタイルシートの開始および終了を指定します。

ON TABLE SET STYLE *
.
.
.
ENDSTYLE

基本の構成

attribute=value の組み合わせで構成され、それぞれの組み合わせをカンマ (,) で区切ります。また、終了はカンマとドル記号 (,$) で定義します。

ON TABLE SET STYLE *
TYPE=component, attribute1=value, attribute2=value, ... ,$
.
.
ENDSTYLE
スタイルシート作成時のポイント

次の方法を組み合わせて、スタイルシートを見やすくします。

  • 先頭にブランクまたはタブを配置してからフィールドの構文を開始します。
  • すべて大文字、すべて小文字、大文字小文字の組み合わせを使用して構文を作成します。
  • 1 行に収まらない場合、カンマ(,)で構文を分割します。構文を分割しても、終了を表すドル記号 ($) まで処理されます。
TYPE=component, 
 attribute1=value,
 attribute2=value,  
 ... ,
$

スタイルシートの詳細

コンポーネント

以下の要素に対してスタイルの設定が可能です。

TYPE=component, attribute=value, … ,$

component

REPORTレポート全体
PAGENUMデフォルトページ番号
TABHEADINGレポートの先頭ページの見出し
TABFOOTINGレポートの最終ページまたはその後続ページの脚注
HEADING各レポートページ最上部の見出し
FOOTING各レポートページ最下部の脚注
SUBHEAD特定のソートフィールドの中間見出し
SUBFOOT特定のソートフィールドの中間脚注
DATAレポートデータ
TITLEフィールドタイトル
ACROSSTITLEACROSS フィールド名 (ACROSS 句で使用されるフィールド名)
ACROSSVALUEACROSS フィールド値 (ACROSS フィールドの値)
SUBTOTALSUBTOTAL、SUB-TOTAL、RECOMPUTE、SUMMARIZE によって生成される合計
GRANDTOTALレポートの最終合計(この合計は、COLUMN-TOTAL によって生成される列合計にすることも、SUBTOTAL、SUBTOTAL、RECOMPUTE、SUMMARIZE のいずれかによって生成される総合計にすることもできます)
RECAPON field name RECAP または ON field name COMPUTE によって生成される行
UNDERLINEON field name UNDER-LINE によって生成される下線
SKIPLINEON field name SKIP-LINE によって生成されるブランク行
FREETEXTFML テキスト

列のタイプ

特定の列に対しスタイルを設定したい場合は、列タイプを指定します。

TYPE=component, coltype=column, attribute=value, … ,$

coltype

COLUMNソート項目 (BY で生成)、表示項目 (PRINT、LIST、SUM、
COUNT で生成)、一時項目 (COMPUTE で生成)、行合計の項目 (ROW-TOTAL で生成) があります。
ACROSSCOLUMNACROSS 項目

column

Nnレポート内の位置に基づいて列を選択します。n の値を特定するには、BY フィールド、表示フィールド、ROW-TOTAL フィールドの数を左から右に数えます。
※NOPRINT フィールドもその数に含みます。
※ACROSSCOLUMN の場合、ACROSS の個数のみが集計されます。
Pnレポート内の位置に基づいて列を選択します。n の値を特定するには、BY フィールド、表示フィールド、ROW-TOTAL フィールドの数を左から右に数えます。
※NOPRINT フィールドはその数に含みません。
※ACROSSCOLUMN の場合、ACROSS の個数のみが集計されます。
fieldフィールド名に基づいて列を選択します。
※ACROSSCOLUMN には利用できません。
ROWTOTAL 行合計のフィールドを選択します。複数の行合計フィールドが存在する場合、ROWTOTAL(n) 、もしくは、ROWTOTAL(field) を使用して、特定のフィールドに対する行合計のフィールドを選択します。
ROWTOTAL(*)で、レポート内の行合計のフィールドをすべて選択できます。
※ACROSSCOLUMN には利用できません。

属性

要素ごとに属性を指定し、スタイルの詳細を設定します。

TYPE=component, attribute=value, … ,$

attribute

FONTフォントの種類
SIZEテキストのサイズ
COLORテキストの色
※RGB、または、16進数カラーコードで指定
STYLEテキストのスタイル
JUSTIFYテキストの表示位置
BORDER罫線
WRAP丸め処理
SQUEEZE列幅の指定
BACKCOLOR背景色
※RGB、または、16進数カラーコードで指定
GRAPHCOLORピアグラフの色
※RGB、または、16進数カラーコードで指定
GRAPHCOLORNEGピアグラフの色(マイナス値)
※RGB、または、16進数カラーコードで指定
TOPGAPセル内のマージン(上部)
BOTTOMGAPセル内のマージン(下部)
LEFTGAPセル内のマージン(右部)
RGIHTGAPセル内のマージン(左部)

スタイルシートのサンプル

▼スタイルシート

ON TABLE SET STYLE * 
TYPE=REPORT,
 FONT='MEIRYO',
 SIZE=10,
 STYLE=NORMAL,
 COLOR=RGB(80 80 80),
 BORDER=1,
 BORDER-BOTTOM=0,
 BORDER-RIGHT=0,
 BORDER-LEFT=0,
 BORDER-COLOR=RGB(255 255 255),
 SQUEEZE=ON,
 GRID=OFF,
 WRAP=OFF,
$

TYPE=TITLE,
 STYLE=-UNDERLINE+BOLD,
 TOPGAP=0.08,
 BOTTOMGAP=0.08,
 COLOR=RGB(250 250 250),
 BACKCOLOR=RGB(158 158 158),
$

TYPE=DATA,
 BORDER=0,
$

TYPE=ACROSSTITLE,
 COLOR=RGB(158 158 158),
$

TYPE=ACROSSVALUE,
 STYLE=BOLD,
 JUSTIFY=CENTER,
 TOPGAP=0.08,
 BOTTOMGAP=0.08,
 COLOR=RGB(250 250 250),
 BACKCOLOR=RGB(158 158 158),
$

TYPE=GRANDTOTAL,
 STYLE=BOLD,
 TOPGAP=0.08,
 BOTTOMGAP=0.08,
 BACKCOLOR=RGB(245 245 245),
$

TYPE=SUBTOTAL,
 STYLE=BOLD,
 TOPGAP=0.08,
 BOTTOMGAP=0.08,
 BACKCOLOR=RGB(245 245 245),
$

TYPE=HEADING,
 STYLE=BOLD,
 SIZE=12,
 JUSTIFY=LEFT,
$

TYPE=FOOTING,
 SIZE=12,
 JUSTIFY=LEFT,
$

TYPE=SUBHEAD,
 STYLE=BOLD,
 SIZE=10,
 COLOR=RGB(255 255 255),
 BACKCOLOR=RGB(32 172 229),
$
ENDSTYLE

▼イメージ

WebFOCUS スタイルシートのサンプルはこちら    >>> WebFOCUSスタイルシート

スタイルシートの作成と参照

スタイルシートの作成

スタイルシートは、次の方法で作成することができます。

  • リクエスト内で作成(レポートごとにスタイルシートを設定)
  • リクエスト外で作成(スタイルシートのみ外部ファイルで保存)

スタイルシートの参照

外部ファイルのスタイルシート(拡張子 .sty)を参照する場合、INCLUDE で参照パスを指定します。

INCLUDE = 参照パス,

参照パスは、スタイルシートが保存されている場所により異なります。

appsフォルダ配下を参照する場合IBFS:/EDA/EDASERVE/フォルダ名/ファイル名
ドメインフォルダ配下を参照する場合IBFS:/WFC/Repository/フォルダ名/ファイル名
デフォルトスタイルシートを参照する場合IBFS:/FILE/IBI_HTML_DIR/ibi_themes/ファイル名