我正在使用BusinessObjects DeskI编写此公式,但它返回语法错误。这是我的公式:
=IF(length(<Dt_Credit>=0) then <Dt_Credit>=(TODATE("01011900","ddMMyyyy") )
ELSE <DT_Credit>
答案 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;用[]。