2017-03-29 5 views
1

インポート日の入力を求めるSQL Serverレポートがあります。後日、データを取得する手順にこの日付を渡します(dbo.spGetData)。私は、新しいデータセットとして、このSPを追加し、ドロップダウンを取得するDate/Timeパラメータ@importDateための「使用可能な値」として、それを選択した報告書の中でSQLレポートビルダー:使用可能なパラメータ値の日付のみを返します。

ALTER PROCEDURE dbo.spGetImportDates 
AS 
BEGIN 
    SELECT CONVERT(DATE, i.ImportDate) ImportDate 
    FROM dbo.Import i 
    ORDER BY i.ImportDate DESC 
END 

:利用できるインポートの日付を取得するために私の手順は、次のようになります。ここまでは順調ですね。私は、パラメータプロンプトの形式を変更するための任意のオプションを見つけることができませんでした

+---------------------+ 
| ImportDate   | 
+---------------------+ 
| 29.03.2017 00:00:00 | 
| 25.03.2017 00:00:00 | 
| ...     | 
+---------------------+ 

:問題は、私はこのようにそれを残す時にも、結果セットに含まれていることです。私はさらに、SELECTクエリをデータセットのクエリデザイナで直接使用しようとしましたが、同じ結果が得られます。

実際にテキストパラメータとして使用してから、手順dbo.spGetDataDATEに再変換する必要がありますか、他に解決策がありますか?

答えて

2

をVARCHARに変換することができますが、DATEデータ型としてストアドプロシージャ内ImportDate列のままにしておきます。 SSRSのデータセットに移動し、[フィールド]をクリックします。 はそれがImportDateLabel、名前を新しい計算フィールドを追加し、次式のようにそれを設定します。

=Format(Fields!ImportDate.Value,"dd/mm/yyyy") 

今、あなたのparamaterに行く「使用可能な値」をクリックして、新しいImportDateLabelフィールドを参照するには「Labelフィールド」を変更します。 ImportDateフィールドを指す「値フィールド」のままにします。

+0

ありがとうございます!正確に私が探していたもの:) btw月に 'mm'ではなく' MM'を使用しなければなりませんでした。 –

+1

うれしかったよ。プレゼンテーションレイヤーに任意の書式設定を残すことは、常に良い考えです。 –

0
ALTER PROCEDURE dbo.spGetImportDates 
AS 
BEGIN 
    SELECT CAST(CONVERT(DATE, i.ImportDate) AS NVARCHAR(10)) AS ImportDate 
    FROM dbo.Import i 
    ORDER BY i.ImportDate DESC 
END 

あなたが最初の10個の文字を取得し、

+0

SQL Server Report Builderで値の出力形式を変更するオプションはありませんか。このようにすると、私の 'spGetData'プロシージャの' DATE'型に再変換する必要があります。 –

関連する問題