抑制/过滤一行

问题描述 投票:0回答:2

我很擅长将PeopleSoft BI Publisher插件用于MS Word并将其与PS Query Manager集成。我的问题是,在RTF文件中,您是否可以使用逻辑来抑制或过滤数据?

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

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

enter image description here

编辑:

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

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

enter image description here

peoplesoft bi-publisher
2个回答
1
投票

“条件区域”是您要查找的按钮。

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


2
投票

选项1

你可以嵌套<?if?>语句。最后添加另一个<?end if?>。确保在内容/行的开头或结尾处的所有IF或END IF对象之间没有空格,否则仍可能显示该行。

选项2

您可以在重复部分中添加条件。下面将重复M.WTHD_AMT不为0.00的每条记录的区域

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

© www.soinside.com 2019 - 2024. All rights reserved.