我的报告显示了前一天的一些统计信息。通常这是前一天(dateadd(“d”, - 1,CurrentDate))但如果是星期一(dayOfWeek = 2),我需要它使用前三天(dateadd(“d”, - 3,CurrentDate) ))。我知道如何做到这一点,但我需要这些值作为参数的默认值,并且能够让用户能够更改此日期。据我所知,你不能将参数的默认值设置为变量。我怎么能做到这一点?
答案 0 :(得分:0)
您的公式应该基于您的变量。你也可以在Crystal里面有一个全局变量。 我现在没有水晶,但代码示例是:
numbervar myVariable := {?yourParameter};
(dateadd("d", -myVariable, CurrentDate))
答案 1 :(得分:0)
我将使您的日期参数可选(在CR 2008及更高版本中可用)。如果最终用户没有选择任何值,则使用您描述的逻辑,否则,使用他们选择的日期。报告的记录选择公式中的此逻辑示例:
if hasvalue({?DateParameter}) then {table.field}={?DateParameter}
else
if dayofweek(currentdate)=2 then //today is Monday
{table.field} in dateadd("d",-3,currentdate) to dateadd("d",-1,currentdate)
else {table.field}=dateadd("d",-1,currentdate)