行ブロックへの論理式の挿入
行論理式定義のダイアログボックスが表示されます。
− 論理式のレポート行に表示するテキスト
− 論理式
行ブロック 1 と 2 に対して 2 つの複合次元セットを定義したとします。 3 行目に論理式 ’ 001 ’ - ’ 002 ’ を入力します。
− 論理式行の列構造を定義するために代表行ブロックとして使いたい行ブロック数 代表行ブロックの有効列ブロックにより、論理式行の列構造が決まります。
代表行ブロックはセットでなければならず、論理式のオペランドとして入力しなければなりません。
この項目に入力を行わないと、代表行ブロックはシステムにより自動的に決定されます。この項目で不適切な入力をすると、入力はシステムにより自動的に修正されます。
レポートライタでは、論理式行に集計レベルが自動的に割り当てられます。このレベルは、論理式で使用される行の最上位の合計に 1 が加算されて算出されます。
たとえば、行ブロック 1 と 2 に対して 2 つの多次元セットを定義したとします。行定義の3行目の論理式 ’ 001 ’ + ’ 002 ’ を使って、行ブロックの最上位の合計の総計を示した追加行を定義します。行ブロック1と2で使われるセットの最上位の集計レベルは、それぞれ 3 と 2 です。レポートライタでは、 ( 行ブロック合計の最上位の集計レベル (3) に1を加えて ) 論理式行に集計レベル 4が自動的に割り当てられます。
論理式を作成する際、 レポートライタでのセット論理式の使用の表に示す演算子を使用することができます。
行論理式ではさまざまなオペランドを使用することができます。
リリース 3.0C からは、論理式オペランドの入力に使われる構文が変わりました。論理式オペランドは、’ nnn ’ の書式で入力します ( たとえば、行ブロック 001 の入力には ’ 001 ’ ) 。リリース 3.0C 以前では、論理式演算数はオペランドに中括弧を付けて入力していました ( たとえば、 <001>) 。
既存の論理式は、自動的に新しい論理式に変換されます。したがって、論理式を含むセットまたはレポートを変更する必要がありません。
行論理式では、次のオペランドを使用することができます。
・ ’ nnn ’ の形式での行番号 ( 例えば 001 には ’ 001 ’ )
・ 値変数
( 例えば値変数 PERIOD には ’ &PERIOD ’ )・ セル用シンボル名
( 例えばレポートの特定合計行には ’ TOTAL ’ )論理式の中では、以下を使用することもできます。
・ 絶対値
( たとえば、 10 または 20)・ 絶対値と行番号の組合せ
( たとえば 10 * ’ 002 ’ )・ ブール論理
論理式には、次のルールが適用されます。
・ 論理式のオペランドは、行セットの最上位の合計値を使用します。
( セット内のレベル1の値 ) 。セット特性のレベルを定義する際に負の数を使用すると、論理式が処理できなくなります。・ レポートに複数の行ブロックがある場合、各行ブロックに定義した列数のうち最小の列数に論理式の結果が入ります。
行ブロック
1 に、列が5つあるとします。行ブロック2には、列が3つあります。行論理式は、’ 001 ’ + ’ 002 ’ です。この場合、論理式の結果は、 3 つの列に表されます。・ 印刷クラスが定義されたレポートを処理する場合、論理式の結果には、印刷クラスが
0 の場合 以外は最大の印刷クラスが使用されます。印刷クラス 0 は、他の印刷クラスより優先されます。レポート行1では印刷クラス5を使用し、レポート行2では印刷クラス3を使用するとします。この2つの行の合計を計算する論理式を定義すると、論理式の結果には印刷クラス5が使われます。
・ 行論理式と列論理式の両方を含むレポートを処理する場合、列論理式が行と列が交差する位置で処理されます。
・ 行ブロックが非表示の場合でも、行ブロックはひきつづき論理式処理で使用されますが、その行ブロックデータはレポート出力には表示されません。
− 行論理式の合計を強調表示する場合は、強調行を選択します。
− 行論理式の合計を表示する色のカラーコードを入力します。
− 行論理式合計の下限をどのように表示するかに合わせて、下限フラグを設定します。下限の定義には、表示なし、一重線、二重線、ユーザ定義文字を使用することができます。
− 行論理式合計の上限をどのように表示するかに合わせて、上限フラグを設定します。上限の定義には、表示なし、一重線、二重線、ユーザ定義文字を使用することができます。
すると、レポート登録
他の論理式明細の結果を直接参照する論理式を入力することができます。
例 :
レポートに以下の行が含まれるとします。
この行は、論理式
’ 001 ’ + ’ 002 ’ を使用して入力します。この行は、論理式
’ 003 ’ / 2 を使用して入力します。この論理式のオペランド
’ 003 ’ は、行ブロック3で計算された論理式の結果を参照します。