5

日時である 2 つのパラメーターを含む SSRS レポートがあります。もちろん、日付セレクターでは、dateTIME に合わせて時刻を選択することはできません。これは理にかなっています。だから私の考えは、日時パラメータにデフォルトの時間を与えることでした。たとえば、パラメーターの既定値を今日の日付の午前 8 時 30 分にするにはどうすればよいでしょうか。

したがって、今日が 2013 年 9 月 4 日である場合、正確には 09/04/2013 8:30 AM と表示されます。

私はあらゆる種類のフォーマットを試しました。私が得た最も近いものはこれをしていました:

=CDate(Format(Today(), "MM/dd/yyyy") & " 8:30 AM")

しかし、これを常に文字列から日時に変換する必要があるため、秒が表示されないようにすることはできませんでした。そうしないと、無効な型エラーが発生し、CDdate は常に秒を表示します。

4

3 に答える 3

8

パラメータのデフォルト値で日付を直接フォーマットしようとしているようですが、正しいですか? 問題は、CDate() が文字列を DateTime に変換することです。DateTime オブジェクトには秒があります。これらの秒をレポートに表示したくない場合は、日付を次のような書式設定された文字列に変換する必要があります。

=Format(Parameters!yourParameter.Value, "MM/dd/yyyy hh:mm")

日付パラメーターにデフォルトの時間を設定するには、パラメーターのデフォルト値で次のようなものを使用することもできます。

Today().AddHours(8).AddMinutes(30)
于 2013-09-06T17:58:00.670 に答える
1

これらの日付をフォーマットするためにSOで見つけられるすべてを試しましたが、パラメーターのゼロを日付フィールドとして削除したり、空白に表示したりすることはできませんでした。私は SSRS 2005 を使用していたので、そのぎこちない/バグのある問題に苦労していました。

私の回避策は、データベースのカスタム [DimDate] テーブルに列を追加して日付を取得することでした。[date] 列の単なる文字列表現である列を追加しました。次に、「To」と「From」の日付のデフォルトの 2 つのデフォルトについて、次のクエリを取得する 2 つの新しいデータセットを作成しました。

'から'

 SELECT Datestring FROM dbo.dimDate WHERE [date] = 
(SELECT max(date) FROM dimdate WHERE date <= GETDATE() )

'に'

SELECT Datestring FROM dbo.dimDate WHERE [date] = 
(SELECT max(date) FROM dimdate WHERE date < DATEADD(month,-3,GETDATE()))
于 2014-06-19T15:14:50.493 に答える
0

これを使用=DateAdd("s",-1,DateAdd("d",1,Parameters!dateTo.Value))して、時間に変更して時間を調整してください。

于 2016-07-28T10:36:30.177 に答える