0

前日の統計を示すレポートがあります。通常、これは前日 (dateadd("d", -1, CurrentDate)) ですが、月曜日 (dayOfWeek=2) の場合は、前の 3 日間 (dateadd("d", -3, CurrentDate) を使用する必要があります。 )) . これを行う方法は知っていますが、これらの値をパラメーターのデフォルトにし、ユーザーがこの日付を変更できるようにする必要があります。私が知る限り、パラメータのデフォルト値を変数に設定することはできません。他にどうすればこれを達成できますか??

4

2 に答える 2

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) 
于 2013-03-18T18:23:07.103 に答える
0

数式は、変数に基づいている必要があります。Crystal 内にグローバル変数を設定することもできます。現在クリスタルを持っていませんが、コード例は次のようになります。

numbervar myVariable := {?yourParameter};
(dateadd("d", -myVariable, CurrentDate))
于 2013-03-18T15:58:22.920 に答える