BusinessObjects 公式语法

BusinessObjects Formula Syntax

我正在使用 BusinessObjects DeskI 编写此公式,但它 returns 语法错误。这是我的公式:

=IF(length(<Dt_Credit>=0) then <Dt_Credit>=(TODATE("01011900","ddMMyyyy") )    
ELSE <DT_Credit>

你的公式有很多错误。让我们分解一下:

=IF ( length(<Dt_Credit>=0) 
      then <Dt_Credit>= ( 
                           TODATE("01011900","ddMMyyyy") 
                        )    
      ELSE <DT_Credit>

首先,您没有右括号。 If/Then中不需要括号,所以你能不能把If后面的那个去掉。您也不需要在 ToDate 函数周围加上括号。所以我们有:

=IF length(<Dt_Credit>=0) 
 then <Dt_Credit> = TODATE("01011900","ddMMyyyy") 
 ELSE <DT_Credit>

接下来,您要在 公式中对 <Dt_Credit> 对象 进行赋值,这是不可能的。所以我们把它去掉:

=IF length(<Dt_Credit>=0) 
 then TODATE("01011900","ddMMyyyy") 
 ELSE <DT_Credit>

接下来,我假设 <Dt_Credit> 实际上是一个 Date 对象而不是 Number。如果是这样,那么 Length() 函数将不起作用,因为它不接受日期作为参数。如果您正在测试空白 <Dt_Credit> 那么您应该使用 IsNull() 代替:

=IF IsNull (<Dt_Credit>) 
 then TODATE("01011900","ddMMyyyy") 
 ELSE <DT_Credit>

最后,我假设您使用的是 DeskI。如果是 WebI,那么语法会有点不同。将 < > 替换为 [ ].