【问题标题】:BusinessObjects Formula SyntaxBusinessObjects 公式语法
【发布时间】: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


    【解决方案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>
    

    接下来,您正在对&lt;Dt_Credit&gt; 对象 一个公式中进行赋值,这是不可能的。所以我们把它拿出来:

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

    接下来,我假设&lt;Dt_Credit&gt; 实际上是Date 对象而不是Number。如果这是真的,那么Length() 函数将不起作用,因为它不接受日期作为参数。如果您正在测试空白的&lt;Dt_Credit&gt;,那么您应该使用IsNull()

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

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

    【讨论】:

    • 非常感谢我非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多