SAP Webi 中带有条件运算符的嵌套 if 语句

Nested if statements with conditional operators in SAP Webi

我想检查不同的条件,并根据每个条件触发特定的操作。在下面的示例中,我想检查请求类型,如果它是新的或修改并且构建日期完成不为空,那么我需要第一个括号中包含的日期之间的天数,否则我需要第二个括号中包含的日期之间的天数插入语。但是,当我 运行 查询时,我只能看到粘贴在每一行中的实际公式。 有谁知道我做错了什么?

="If([Build Request Type]=\"New\")
OR
If([Build Request Type]=\"Amendment\") 
AND Not(IsNull([Build Date Completion])
Then
    DaysBetween([Actual build date];[Ordering Tool Validation Complete Date]) 
else 
    DaysBetween([Submission];[Actual build date])"

正确答案如下:

=If(([Build Request Type]="New") OR
  ([Build Request Type]="Amendment")) AND Not(IsNull([Build Date Completion])) Then
    DaysBetween([Actual build date];[Ordering Tool Validation Complete Date])
 Else 
    DaysBetween([Submission];[Actual build date])

首先,您需要从代码周围删除 double-quotes。对于那些 double-quotes,您是在说这正是您想要看到的,而这正是您得到的。接下来,您需要删除剩余 double-quotes 之前的反斜杠。最后,您需要确保括号位于正确的位置以获得您想要的逻辑。