ROWファンクションは、単一の行のセルに一連のデータを連続して返します。このファンクションは、ROWコマンドと同じですが、現行の出力ファイルにテキストを送信するのではなく、テキスト値を返す点が異なります。
ROWファンクションは、ROWコマンドと同様に、返されるデータおよびデータの出力書式(オプション)を指定する一連の列説明で構成されます。ROWファンクションでは、SHOWまたはREPORTコマンドによって戻り値のテキスト変数への代入や現行の出力ファイルへの送信ができる他、文字操作ファンクションの引数にしてさらに処理できます。
構文
ROW([attribs] [ACROSS dimension [limit-clause]:] {exp1|SKIP} -
[[attribs] [ACROSS dimension [limit-clause]:] {expn|SKIP}])
引数の詳細は、ROWコマンドを参照してください。
引数を指定しないROWファンクションは、空白行を返します。
例
例8-89 出力のテキスト変数への代入
次の代入文は、出力の3行をテキスト変数textvar
に代入します。
textvar = ROW(OVER '-' UNDER '=' 'This is a Row.') SHOW textvar
これらの文によって生成される出力は次のとおりです。
-------------- This is a Row. ==============
例8-90 複数行の出力の生成
プログラムでROWファンクションとJOINLINESを使用して、ディメンション値のグループをループ処理して複数行のデータをテキスト変数に代入できます。次のプログラムの抜粋でSHOWコマンドを使用せずに、textvar
の内容を他の目的に使用することもできます。
LIMIT month TO 'Jan95' 'Feb95' LIMIT district TO 'Boston' 'Atlanta' 'Chicago' textvar = NA textvar = ROW(W 8 SKIP ACROSS month: <month SKIP>) textvar = JOINLINES(textvar ROW(W 8 SKIP ACROSS month: - CENTER <'Sales' 'Plan'>)) FOR district textvar = JOINLINES(textvar ROW(W 8 district ACROSS month: - <sales sales.plan>)) SHOW textvar
これらの文によって生成される出力は次のとおりです。
OUTPUT: Jan95 Feb95 Sales Plan Sales Plan Boston 32,153.52 42,346.89 32,536.30 43,265.50 Atlanta 40,674.20 54,583.41 44,236.55 57,559.87 Chicago 29,098.94 36,834.37 29,010.20 37,667.66