1

以下に示すように、レポートで1つのパラメーターを日付に使用し、別のパラメーターを時間に使用したいと思います。始まる時間[16/01/2012][12.00 am]

誰かがそれに関して私を助けることができますか?

4

2 に答える 2

1

確かにそれは複数のステップのプロセスです:

  1. TEXTの変数を変数値として「DATE」として設定し、プロンプトを表示します
  2. 左側のペインの「デフォルト値」を「2012年1月16日」に設定します
  3. TEXTの変数を変数値として「TIME」として設定し、プロンプトを表示します
  4. 左側のペインの「デフォルト値」を「00:00」に設定します
  5. データセット「AvailableDateTime」を設定して、2つを正当な日時フィールドに結合します。

    SELECT        CAST(@Date + ' ' + @Time AS DateTime) AS Datetime
    
  6. 変数値およびプロンプトとして、DATETIMEの3番目の変数を「DATETIME」に設定します。

  7. プロパティの左側のペインで「AVAILABLEVALUES」を使用して「クエリから値を取得」するようにこの変数を設定します。手順5のデータセットを使用します。

これで、データと時間用に個別のフィールドが設定されました。

ユーザー入力エラーを回避するためのさらなる考慮事項。最初の変数を、使用可能な値に設定した値またはクエリからのみ選択できるように結び付けることができます。問題は、システムが2つの文字列を結合し、それから日時を作成しようとしているだけなので、ユーザーが日付または時刻を指で触れても実行されないことです。getgoのクエリから直接値を一覧表示することをお勧めします。

最初の2つの変数を変更するための編集:

  1. 最初の変数を、エンドユーザーにカレンダーを提供する日時として設定できます。
  2. 2番目のデータセットを設定して、エンドユーザーが利用できる時間を取得できます。

    declare @time table ( tm int)
    
    declare @cursor int = 0
    
    while @cursor <= 23
    Begin
        insert into @time values (@cursor)
    
        set @cursor += 1
    End
    
    select cast(CAST(tm as varchar) + ':00' as time) as HourOfTheDay
    from @time
    
  3. 2番目の変数を設定して、直前の手順2で行われたクエリから値を取得します。

これで、上記のように値をまとめることができるはずです。

于 2013-01-21T17:24:45.580 に答える
1

コメントで述べたように、とSSRSの個別のパラメータを持つことはできません。パラメータは1つだけです。DateTimeDate/Time

私が見るように、あなたには2つの選択肢があります。

  1. テキストパラメータを追加し、それを時間と見なします。次に、使用している技術に応じて、いくつかの検証を行うことができます。
  2. これを解決する別の方法は、可能な値のリストを作成することです。Integerたとえば、タイプを選択してから、のリストを作成しますAvailable Values。(画像を参照)

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2013-01-22T11:56:37.190 に答える