2013-02-26 95 views
0

我有一个带有典型日期列的报告。我希望用户从@prompt中选择一个开始日期。然后我希望结束日期比用户选择的开始日期少3个月。SAP Business Objects - 根据用户提示输入创建WHERE条件

例子:

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不具备这种功能似乎很奇怪。

+0

检查了这http://area51.stackexchange.com/proposals/41621/sap-systems-applications-and-products – Jared 2013-03-13 16:07:43

回答

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) 
+0

没有变量命名用户输入日期。我只是把那里作为我需要那里的一个例子 – tarheels058 2013-02-26 15:03:07

+0

正确的,你所要做的就是将它改为你的变量名。 – 2013-02-26 15:04:26

+0

BOBJ不能像那样工作。用户如何从提示中反复传递给该变量? – tarheels058 2013-02-26 15:34:24

1

你可以在宇宙中创建新的对象 [promptDate] = @Prompt('的科目输入值(S)开申 ' 'd',对象',单声道,免费的,持久性,,用户:0)

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

,并在添加一个条件报告

WHERE Table.Date

之间[promptDate]和[promptDatePlusThreeMonths]

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

@prompt之间Table.Date( '输入会计开DT值(S)', 'D',对象',单声道,免费,持续性,用户:0)和日期加载(月,3,@提示('输入Acct Open Dt的值','D',对象',单声道,免费,持续,,用户:0))