SSRSに、特定の日付範囲のみを選択できる「支払期間」というパラメータを持つ方法はありますか?たとえば、2014年9月19日から2016年9月25日までを許可し、09/20/2016から09/26/2016までは許可しません。月曜日と日曜日の組み合わせは問題ありませんが、それ以外の場合は実行しません。SSRS「支払期間」のパラメータ
私は、(2つの異なるパラメータとは対照的に)これらの範囲を提供するドロップダウンリストを考えていましたが、その作業を行う方法がわかりません。
SSRSに、特定の日付範囲のみを選択できる「支払期間」というパラメータを持つ方法はありますか?たとえば、2014年9月19日から2016年9月25日までを許可し、09/20/2016から09/26/2016までは許可しません。月曜日と日曜日の組み合わせは問題ありませんが、それ以外の場合は実行しません。SSRS「支払期間」のパラメータ
私は、(2つの異なるパラメータとは対照的に)これらの範囲を提供するドロップダウンリストを考えていましたが、その作業を行う方法がわかりません。
開始日に1つのパラメータを使用し、終了日を6日後に計算します(必要な場合)。
このパラメータでは、データの単一の開始日フィールドを使用してラベルのフィールドを作成します。
パラメータクエリ:
DECLARE @START_DATE DATE = '01/01/2016'
DECLARE @END_DATE DATE = '10/31/2016'
;WITH GETDATES AS
(
SELECT @START_DATE AS THEDATE
UNION ALL
SELECT DATEADD(DAY, 1, THEDATE) FROM GETDATES
WHERE THEDATE < @END_DATE
)
SELECT THEDATE, CONVERT(VARCHAR(10), THEDATE, 101) + ' - ' + CONVERT(VARCHAR(10), DATEADD(D, 6, THEDATE), 101) AS PAYPERIOD
FROM GETDATES
WHERE DATEPART(WEEKDAY, THEDATE) = 2
OPTION (maxrecursion 0)
これは、ユーザーが日付の範囲を見てみましょうが、必要な場合にのみ使用するレポートに開始日を渡します。
DATE PAYPERIOD
2016-01-04 01/04/2016 - 01/10/2016
2016-01-11 01/11/2016 - 01/17/2016
2016-01-18 01/18/2016 - 01/24/2016
私は、日付範囲に対して常に2つのパラメータを使用しています。クエリがこれらのパラメータを考慮していることを確認する必要があります。私は通常、@StartDateと@EndDateを使用します。
WHERE <columnName> BETWEEN @StartDate AND @EndDate
クエリで2つのパラメータを宣言する限り、大丈夫です。パラメータでDate/Timeデータ型を使用すると、使いやすい日付ピッカーが得られます。これは少なくとも毎回私のために働く。
はい、以前の基本的な開始日と終了日も同様に行っています。私は月曜日から日曜日の組み合わせを受け入れるだけで、おそらく日付のパラメータのペア以外の何かを介してそれを行うことができるかどうかを判断しようとしています。 – Stephen
私は、ユーザーが日付の範囲を選択できますが、あなたのクエリに日付の範囲を検証し、合格するために非表示にする設定された2つの追加のパラメータを持つ2つのパラメータを持っていると思います。 –
私は以前もそれをやったと思います。両方の日付で1つのパラメータを実行できればいいと思っていましたが、可能かどうかは分かりませんでした。 – Stephen
可能ですが、各範囲を返すクエリを作成し、それを使用してパラメータを設定する必要があります。また、パラメータを渡すクエリでは、値を処理して開始日を含む2つのSQLパラメータおよび終了日。 –