Suppress/Filter 一行

Suppress/Filter a row

我对使用适用于 MS Word 的 PeopleSoft BI Publisher 插件并将其与 PS 查询管理器集成还很陌生。我的问题是,您是否可以在 RTF 文件中加入抑制或过滤掉数据的逻辑?

我有一个打印一行(行)的 for-each 分组。如果预扣金额字段 (M.WTHD_AMT) 等于 0(零),我想添加逻辑以不打印该行。我的问题是语法是什么样的,我应该把它放在哪里(在下面的 For Each 分组、字段级别或其他地方?)我知道我可以将 PS 查询(数据源)更改为进行过滤,但我想保持原样并在模板中处理它。

我看到还有另一个条件 IF 语句 ("rmt_"),所以我不确定我是否可以将此附加逻辑添加到该元素,或者我是否需要一个单独的逻辑。感谢任何反馈!

编辑:

我已经按照建议添加了一个新的 "Conditional Region",它只适用于 WTHD_AMT 标准!0 到零,但是我尝试添加额外的标准,其中 L.PYMNT_TYPE = 'R' 并且当我 运行 该过程时,它不会在 PDF 输出中显示数据。语法有问题吗?我是否需要为第二个标准设置一个单独的条件区域?我看过另一个 BI 报告,其中有 2 或 3 个标准作为一个元素的一部分。

<?if:number(M.WTHD_AMT)!=0.00?> and <?if:L.PYMNT_TYPE='R'?>

选项 1

您可以嵌套 <?if?> 个语句。只需在末尾添加另一个 <?end if?> 即可。确保 IFEND IF 对象之间没有空格,位于 content/row 的开头或结尾,否则该行可能仍会显示。

选项 2

您可以在重复部分添加条件。下面将为每个 record 重复区域,其中 M.WTHD_AMT 不是 0.00

<?for-each:record_path/record[M.WTHD_AMT!='0.00']?>

'Conditional Region' 是您要查找的按钮。

使用此按钮时,请务必仔细检查 if/endif 或 C/EC 元素的添加位置。它倾向于忽略所选元素并将元素连接到行的开头和结尾。然后,您需要将其剪切并粘贴到正确的位置。对您来说,这可能就在 F 元素之后和 E 元素之前。