如果WEBI中存在变量问题

2020-09-07 20:02发布

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

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


 Formula.png

尊敬的专家,

我正在尝试使用下面的" if"语句和变量" v_message(5)"创建变量" v_message(5)",但未显示值" Red Data", 尝试了如下所述的不同公式。

Varibale:v_message(5)-

1)= If([v_formula] = 18哪里([[Nm] =" 3003收到的Doz I/C孵化蛋"")和[v_formula] = 20哪里([Nm] =" 3004 Doz I/C孵化蛋 收到$"))),然后是"红色数据",其中([Nm] =" 3003已收到Doz I/C孵化蛋")

2)= If([v_formula] = 18哪里([[Nm] =" 3003收到Doz I/C孵化蛋"")和[v_formula] = 20哪里([Nm] =" 3004 Doz I/C孵化蛋 收到$"))),然后是"红色数据",其中([Nm] =" 3003已收到Doz I/C孵化蛋")

3)= If([v_formula]哪里([Nm] =" 3003收到的Doz I/C孵化蛋"")= 18 And [v_formula]哪里([Nm] =" 3004收到的Doz I/C孵化蛋$ ")= 20)然后是"红色数据",其中([Nm] =" 3003已收到Doz I/C孵化蛋")

我可以知道您的建议吗? 我们怎样才能做到这一点?

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

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


 Formula.png

尊敬的专家,

我正在尝试使用下面的" if"语句和变量" v_message(5)"创建变量" v_message(5)",但未显示值" Red Data", 尝试了如下所述的不同公式。

Varibale:v_message(5)-

1)= If([v_formula] = 18哪里([[Nm] =" 3003收到的Doz I/C孵化蛋"")和[v_formula] = 20哪里([Nm] =" 3004 Doz I/C孵化蛋 收到$"))),然后是"红色数据",其中([Nm] =" 3003已收到Doz I/C孵化蛋")

2)= If([v_formula] = 18哪里([[Nm] =" 3003收到Doz I/C孵化蛋"")和[v_formula] = 20哪里([Nm] =" 3004 Doz I/C孵化蛋 收到$"))),然后是"红色数据",其中([Nm] =" 3003已收到Doz I/C孵化蛋")

3)= If([v_formula]哪里([Nm] =" 3003收到的Doz I/C孵化蛋"")= 18 And [v_formula]哪里([Nm] =" 3004收到的Doz I/C孵化蛋$ ")= 20)然后是"红色数据",其中([Nm] =" 3003已收到Doz I/C孵化蛋")

我可以知道您的建议吗? 我们怎样才能做到这一点?

付费偷看设置
发送
7条回答
jovirus
1楼-- · 2020-09-07 20:33

嗨,Madhu,

您可以使用以下三个定义之一完成所需的结果:

= If([v_formula] InList(18; 20)And [Nm] =" 3003已收到Doz I/C孵化蛋")然后是" RedData"

=如果(([[v_formula] = 18并且[Nm] =" 3003收到的Doz I/C孵化蛋"")或([[v_formula] = 20并且[Nm] =" 3003所收到的Doz I/C孵化蛋"))然后 " RedData"

=如果([v_formula] InList(18; 20)和[Nm] =" 3003收到Doz I/C孵化蛋")然后是" RedData"

< img src="/storage/temp/1689621-hatched-eggs.png">

我建议您参考使用Web Intelligence文档中的函数,公式和计算,以获取有关定义If Then Else语句的更多信息。 您尝试的变量定义很可能会引发#COMPUTATION错误。 当您使用逻辑运算符正确地,您正在使表达式的上下文复杂化。

亲切的问候,

汤姆

灬番茄
2楼-- · 2020-09-07 20:35

嗨,Madhu,

对1和3中重复项表示歉意。 复制并粘贴错误。

如果您创建一个仅评估条件的测试变量,即[test] =(([[Nm] =" 3003 收到Doz I/C孵化蛋"并且[v_formula] = 18)并且([Nm] =" 3004收到Doz I/C孵化蛋$"并且[v_formula] = 20))您会注意到它将 为数据的每一行返回0(不正确),即,您不能在同一条语句中同时满足这两个条件。

再次阅读您的要求,我了解到您只希望将"红色数据"标记为"已收到3003个Doz I/C孵化蛋"。 然后,为什么在条件中包括"收到的3004个Doz I/C孵化蛋"及其对应的v_formula值? 我认为这是不必要的。 你可以解释吗? 我假设您希望在数据的前两行中为true标志,但仅对顶部行("已收到3003个Doz I/C孵化蛋")使用"红色数据"标志。 您只能使用Or运算符来实现此目的。

如果在查询级别定义相同的过滤条件,则会注意到由于查询条件相互抵消而返回了空行。/p>

亲切的问候

汤姆

樱桃小丸子0093
3楼-- · 2020-09-07 20:29

嗨,汤姆,

谢谢您的解决方案。看起来第一个选项和第三个选项是相同的, 看不到区别。

当您使用"或"时,您提供的以下第二个选项仅满足以下条件之一,但是我们需要同时满足两个条件。

= If(([[v_formula] = 18 And [Nm] =" 3003 Doz I/C孵化器收到的鸡蛋""))
或([v_formula] = 20 And [Nm] =" 3003 Doz I/C Hatch 收到鸡蛋"))
然后" RedData"

以下两个条件必须满足才能看到"红色数据"而不仅仅是一个。

= If([v_formula] = 18其中([Nm] =" 3003收到Doz I/C孵化蛋"")
并且[v_formula] = 20其中([Nm] =" 3004 Doz I/C孵化 收到的鸡蛋$"))
然后"红色数据"在哪里([Nm] =" 3003收到的Doz I/C孵化鸡蛋")

SAP砖家
4楼-- · 2020-09-07 20:19

嗨,汤姆,

我当时想您可能有第三个选择,并且您提到了"遵循三个定义"。

是的,您是正确的,当同时满足以下两个条件时,我希望将"红色数据"标记为"已收到3003个Doz I/C孵化蛋"。

= If([v_formula] = 18其中([Nm] =" 3003收到Doz I/C孵化蛋"")
并且[v_formula] = 20其中([Nm] =" 3004 Doz I/C孵化 收到的鸡蛋$"))
然后"红色数据"在哪里([Nm] =" 3003收到的Doz I/C孵化鸡蛋")

例如:如果[v_formula]的值更改为表中该列的"或"之后的 21,22,23,则不应使用以下公式显示" RedData" 上面的是20 ,但是当我们使用20以外的任何数字表示" RedData"不起作用。 仅当两个条件都满足时,它才应该显示/工作,但在这种情况下,由于我们使用的是"或",因此仅考虑其中一个。

=如果(([[v_formula] = 18 And [Nm] =" 3003收到的Doz I/C孵化蛋,")")
Or([[v_formula] = 21 和[Nm] = "收到3004个Doz I/C孵化蛋$")))
然后" RedData"

我希望这可以澄清您的问题。

关于
Madhu

骆驼绵羊
5楼-- · 2020-09-07 20:34

嗨,汤姆,

有没有一种方法可以满足两个条件,而不是同一条语句中的任何其他方法?

关于
Madhu

愤怒的猪头君
6楼-- · 2020-09-07 20:31

嗨,汤姆,

下面的公式如何?

=如果[Nmrc] = 0哪里([Nm] =" 3003收到Doz I/C孵化蛋")然后(If [Nmrc] = 0哪里([Nm] =" 3004收到Doz I/C孵化蛋" $$")然后是"红色数据")

关于

一周热门 更多>