【问题标题】:SAP Business Objects - Create a WHERE condition based on user prompt inputSAP Business Objects - 根据用户提示输入创建 WHERE 条件
【发布时间】:2013-02-26 14:54:52
【问题描述】:

我有一份带有典型日期列的报告。我希望用户从@prompt 中选择开始日期。然后我希望结束日期比用户选择的开始日期少 3 个月。

例子:

SELECT Date,Y,Z
FROM TABLE
WHERE Table.Date  >=  @prompt('Enter value(s) for Acct Open Dt','D',Object',Mono,Free,Persistent,,User:0)
AND
Table.Date <= USER ENTERED DATE - 3 months

这可能吗?我在其他报告工具中很容易做到这一点。 BOBJ 没有这个功能似乎很奇怪。

【问题讨论】:

标签: sql sap business-objects


【解决方案1】:

除非我遗漏了什么,否则这就是你要找的东西

SELECT Date,Y,Z
FROM TABLE
WHERE Table.Date  >=  @prompt('Enter value(s) for Acct Open     Dt','D',Object',Mono,Free,Persistent,,User:0)
AND Table.Date BETWEEN userentereddate AND dateadd(m,-3,userentereddate)

【讨论】:

  • 没有名为用户输入日期的变量。我只是把它放在那里作为我需要的一个例子
  • 对,你所要做的就是把它改成你的变量名。
  • BOBJ 不能那样工作。如何将提示中的用户响应传递给该变量??
【解决方案2】:

您可以在宇宙中创建新对象 [promptDate] = @prompt('Enter value(s) for Acct Open Dt','D',Object',Mono,Free,Persistent,,User:0)

[promptDatePlusThreeMonths] = dateadd(月, 3, [promptDate])

并在报告中添加条件

WHERE Table.Date 介于 [promptDate] 和 [promptDatePlusThreeMonths] 之间

或者只是在宇宙中创造一个条件:

@prompt('Enter value(s) for Acct Open Dt','D',Object',Mono,Free,Persistent,,User:0) 和 dateadd(month, 3, @prompt( '输入Acct Open Dt的值','D',Object',Mono,Free,Persistent,,User:0))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    相关资源
    最近更新 更多