Crystal Reports - 使用公式作为参数替代

时间:2013-03-18 15:50:01

标签: parameters crystal-reports report formula

我的报告显示了前一天的一些统计信息。通常这是前一天(dateadd(“d”, - 1,CurrentDate))但如果是星期一(dayOfWeek = 2),我需要它使用前三天(dateadd(“d”, - 3,CurrentDate) ))。我知道如何做到这一点,但我需要这些值作为参数的默认值,并且能够让用户能够更改此日期。据我所知,你不能将参数的默认值设置为变量。我怎么能做到这一点?

2 个答案:

答案 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)