2

パラメータStartDateEndDateを持つレポートがあります。ドロップダウンから選択したときに、 EndDateパラメーターの時刻部分をデフォルトで 1 日の終わりに設定したいと思います。

たとえば、ユーザーがドロップダウンから5/15/2008を選択した場合、ボックスに表示される値は ' 5/15/2008 23:59:59 ' であり、' 5/15/2008 12:00:00 'ではありません。

イベント モデルと 1 行のコードを使用して .Net でこれを行うのは非常に簡単ですが、Report Builder 2.0 では何をする必要があるのでしょうか?

これのために書く必要があるコードはありますか、それともこれを処理できるファンキーな表現を見逃していましたか?

ありがとう。

開発について

4

4 に答える 4

4

レポート パラメータ セクションでデフォルト パラメータを設定することをお勧めします。これは、[レポート] > [レポート パラメーター] から取得できます。

これにより、照会されないデフォルトを設定できます。そこに次のような式を入力できます

=DateAdd(Microsoft.VisualBasic.DateInterval.Second ,-1,dateadd("d",1,Today))

これにより、今日の終わりのデフォルトが得られます。

編集:実際には、単一のデフォルト値に対してのみ役立ちます。

于 2009-07-14T04:59:38.457 に答える
2

SSRSを使用してからしばらく経ちましたが、ご容赦ください。少し翻訳する必要がありますが、これは私が過去に行ったことです。

EndDate パラメーターを定義するときは、パラメーター リストの EndDate の後に、EndDateEOD という名前の追加パラメーターを作成します。このパラメーターを非表示の値にして、Jeremy が計算する方法と同様に、1 日の最後の瞬間に設定します。

次に、@EndDate があるレポート クエリで @EndDateEOD を使用できます。

StartDate が選択されている場合、EndDateEOD が自動的に開始日の最後に設定されるように、EndDate をその値にデフォルト設定できます。

于 2009-07-07T19:25:02.337 に答える
1

DATEADD()データセットの式でパラメーターを使用します。

それよりも

...WHERE end_date = @end_date

次のようにします。

...WHERE end_date = DATEADD(ms, -3, @end_date + 1)

これは、1 日 (the +1) 進み、次に 3 ミリ秒戻り、datetime で記録可能なその日の最後の瞬間に戻ります。

于 2009-07-07T19:16:22.463 に答える
0

=CDate(Parameters!StartDate.Value + " 23:59:59") Parameters!StartDate.Value の部分は任意の日付にすることができますが、EndDate.Value 自体はできません。例: - Today() - 開始日からの月末日: =CDate(DateSerial(Year(Parameters!StartDate.Value), Month(Parameters!StartDate.Value) + 1, 0)+" 23:59:59 ")

この助けを願っています。

于 2013-04-08T00:58:51.440 に答える