BusinessObjects公式语法

时间:2016-05-05 09:25:59

标签: business-intelligence business-objects

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

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

1 个答案:

答案 0 :(得分:1)

你的配方有很多问题。让我们分解一下:

=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,则语法略有不同。替换&lt; &GT;用[]。