SAP Business Objects - 根据用户提示输入创建WHERE条件

时间:2013-02-26 14:54:52

标签: sql sap business-objects

我有一个包含典型日期列的报告。我希望用户从@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没有这个功能似乎很奇怪。

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

您可以在Universe中创建新对象 [promptDate] = @prompt('为Acct Open Dt输入值','D',对象',单声道,免费,持久,用户:0)

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

并在报告中添加条件

[promptDate]和[promptDatePlusThreeMonths]之间的Table.Date

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

Table.Date @prompt('输入值为Acct Open Dt','D',对象',Mono,Free,Persistent,用户:0)和dateadd(month,3,@ prompt( '为Acct Open Dt输入值','D',对象',单声道,免费,持久,用户:0))