【发布时间】:2016-05-05 09:25:59
【问题描述】:
我正在使用 BusinessObjects DeskI 编写此公式,但它返回语法错误。这是我的公式:
=IF(length(<Dt_Credit>=0) then <Dt_Credit>=(TODATE("01011900","ddMMyyyy") )
ELSE <DT_Credit>
【问题讨论】:
标签: business-intelligence business-objects
我正在使用 BusinessObjects DeskI 编写此公式,但它返回语法错误。这是我的公式:
=IF(length(<Dt_Credit>=0) then <Dt_Credit>=(TODATE("01011900","ddMMyyyy") )
ELSE <DT_Credit>
【问题讨论】:
标签: business-intelligence business-objects
你的公式有很多错误。让我们分解一下:
=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,那么语法会有些不同。将 替换为 [ ]。
【讨论】: