0

Cognos レポートに 5 通の手紙 (5 ページ) があります。この手紙は、同社が受け取った NSF の小切手に応じたものです。各文字は、NSF ファイルに存在する条件に基づいて異なります。それらの条件に基づいてそれらの手紙を印刷する必要があります。たとえば、お客様が NSF チェックを受けたことがないとします。素敵な手紙を印刷したい(1ページ目)。お客様が他の NSF チェックを受けている場合は、レター 2 (ページ 2) など。次の変数を作成しました -

IF [Main].[RETURN_REASON_CD] = 'FINAL' Then '1' Else (
IF [Main].[RETURN_REASON_CD] = 'FIRST' AND [Main].[METHOD_OF_DRAFT_OVR] = 'ACHDA' Then '2' Else (
IF [Main].[RETURN_REASON_CD] = 'FIRST' AND [Main].[METHOD_OF_DRAFT_OVR] <> 'ACHDA' Then '3' Else (
IF [Main].[RETURN_REASON_CD] NOT IN( 'FIRST', 'FINAL') AND [Main].[METHOD_OF_DRAFT_OVR] = 'ACHDA' Then '4' Else  '5')))

これを正しく印刷するには、値 1、2、3、4、5 に何を指定する必要がありますか。ありがとう

4

3 に答える 3

0

あなたのようなケース式を持つ1つの変数を作成します...

Expr1の場合「ページ1を表示」Expr2の場合「ページ2を表示」など...else「すべてのページを表示」またはelseでやりたいことEnd

リテラル値が変数ページの出力値として正確にリストされていることを確認する必要があります。これは重要。

レポートページ1から始めて、構造ビューに切り替えます。そうすれば、Pageオブジェクトに簡単に移動できます。ページオブジェクトに入ると、Cognosのバージョンに応じてレンダリング変数や条件付きスタイルがあると思います。レンダリング変数の場合は簡単です...作成した変数を選択し、レンダリングの真の条件をトリガーするリテラル値を選択するだけです。したがって、ページ1にいる場合は、変数からページ1を真の条件として選択し、その条件が真の場合にのみページがレンダリングされます。

レンダリング変数がない場合は、作成後に変数ペインに移動する必要があり、一度に1つずつ出力値を選択すると、条件モード(色の変更)になります。条件探索で「ページ1」を選択すると、構造ビューを介してページ1に移動し、visible =プロパティをtrueに設定してから、他のすべてのページに移動してfalseに設定します(最初はすべてのページをfalseにデフォルト設定できます)必要に応じてこの手順を保存してください)...すべての可能な出力値に対してこの演習を繰り返します。長くはかからないが、それはより退屈であり、それが彼らが「レンダリング変数」を作成した理由です

条件エクスプローラーを使用すると、出力値を選択してからレポート内を移動し、スタイルの可視性プロパティを変更できます...これらのスタイル/可視性プロパティは、変数条件でその出力値がtrueであることが検出された場合にのみ発生します。基本的には視覚的なif/caseステートメントです。

于 2013-01-27T19:53:35.087 に答える
0

条件付きブロックで 1 つのページを使用できるため、5 つのブール変数ではなく、5 つの異なる値を持つ 1 つの文字列変数のみが必要です。

于 2013-01-27T07:20:49.727 に答える
0

5 つのブール変数を作成し、ページ エクスプローラーに移動して [レポート ページ] フォルダーをクリックすると、5 つのページのリストが表示されることをお勧めします。各ページをクリックして、Render 変数を設定します。

Render 変数が TRUE と評価されると、ページがレンダリングされます。それがfalseの場合はそうではありません。

あなたが行ったように、おそらく1つの変数を使用してこれを行う方法がありますが、今は思いつきません。ページ セットを調べることができます。または、すべてのページを 1 ページに圧縮し、条件付きスタイルを使用して各ページを非表示にすることもできます。

于 2012-12-05T00:07:54.447 に答える