sap bo webi中自定义查询中使用if then replace条件的语法

2020-09-11 00:01发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在运行当前脚本,但想添加一个if if then条件。

基于从业务对象中一个系统中获取的当前数据的以下类似内容,该机器被命名为" 005",所以我希望它在报告的输出上显示名称" P41205",我认为 如果V_FLUID_SMU_RECORD.MACHINE_N ='005'重命名为" P41205",则命令的谎言应该是。 然后将其添加到下面运行的脚本中。 这样可以代替机器名称吗?

选择V_FLUID_SMU_RECORD.MACHINE_N,V_FLUID_SMU_RECORD.TIMESTAMP,V_FLUID_SMU_RECORD.SMU_Q,V_FLUID_SMU_RECORD.SMU FROM V_FLUID_SMU_RECORD其中V_FLUID_SMU_RECORD.TIMESTAMP TRUNC(SYSDATE-20)和TRUNC(SYSDATE)和V_FLUID_SMU_RECORD.SMU_Q> 2和V_FLUID_SMU_RECORD.MACHINE_N在('之间 144103"," 154114"," 154115"," 154116"," 174672"," 174673"," 174674"," 174675"," 174676"," 184622"," 184623"," 194615"," 194616" ,'204120','204129','224538','224539','304201','304202','304204','304206','304207','304215','304243','304244',' 304245','304246','304247','304248','304249','314264','314265','374276','374278','374279','374281','374282','374283' ," 374284"," 374285"," 005")

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在运行当前脚本,但想添加一个if if then条件。

基于从业务对象中一个系统中获取的当前数据的以下类似内容,该机器被命名为" 005",所以我希望它在报告的输出上显示名称" P41205",我认为 如果V_FLUID_SMU_RECORD.MACHINE_N ='005'重命名为" P41205",则命令的谎言应该是。 然后将其添加到下面运行的脚本中。 这样可以代替机器名称吗?

选择V_FLUID_SMU_RECORD.MACHINE_N,V_FLUID_SMU_RECORD.TIMESTAMP,V_FLUID_SMU_RECORD.SMU_Q,V_FLUID_SMU_RECORD.SMU FROM V_FLUID_SMU_RECORD其中V_FLUID_SMU_RECORD.TIMESTAMP TRUNC(SYSDATE-20)和TRUNC(SYSDATE)和V_FLUID_SMU_RECORD.SMU_Q> 2和V_FLUID_SMU_RECORD.MACHINE_N在('之间 144103"," 154114"," 154115"," 154116"," 174672"," 174673"," 174674"," 174675"," 174676"," 184622"," 184623"," 194615"," 194616" ,'204120','204129','224538','224539','304201','304202','304204','304206','304207','304215','304243','304244',' 304245','304246','304247','304248','304249','314264','314265','374276','374278','374279','374281','374282','374283' ," 374284"," 374285"," 005")

付费偷看设置
发送
10条回答
悻福寶寶
1楼 · 2020-09-11 00:48.采纳回答

您好,丹尼尔

使用下面的语句代替SQL中的Select子句中的V_FLUID_SMU_RECORD.MACHINE_N。 它是Case,Right()和Replace()的组合。

情况
当正确(V_FLUID_SMU_RECORD.MACHINE_N,3)='005'然后替换(V_FLUID_SMU_RECORD.MACHINE_N,'005','P41205')
否则V_FLUID_SMU_RECORD.MACHINE_N
结束

如果数据库是SQL Server,则查询应该可以工作;如果使用其他数据库,则google可以查询每个函数的语法。 让我们知道是否有帮助。

谢谢,
Mahboob Mohammed

N-Moskvin
2楼-- · 2020-09-11 00:51

好,我已经使用If Right语句= If(Right([Machine_N-FASR]; 3)=" 005";" P41205")

>

但是可以用P41205代替005,其他任何名称都保留为空白。

如果机器名称是005,我想替换,然后将其替换为P41205,否则将名称保持不变。

hengyuye
3楼-- · 2020-09-11 00:55

全部

我使用阿米特(Amit)的想法在报告级别使用以下语句来实现它

= If([Machine_N-FASR] =" 005";" P41205"; [Machine_N-FASR])。

然后用所需的P41205替换机器名称005,并保持其他机器名称不变,并仍显示。

闻人可可
4楼-- · 2020-09-11 01:00

阿米特·库玛(AMIT KUMAR) Mahboob Mohammed

我确实使用上面的语句使它起作用。 但是缺点是我使用的是自定义查询脚本,因此当我导出到csv时,该语句被取消保护,原始005名称在那里并且没有被替换。

一周热门 更多>