SSRSでレポートを作成しています。ここでは、異なる日付フィールドでフィルタを使用できるようにする必要があります。彼らは、そのフィルタ内で日付フィルタと開始日と終了日を選択できる必要があります。Where句を使用してWhere句を使用してパラメータ化された列を使用する
これは私が達成しようとしています何の単純化した例である:
@datetypefilerは、基本的にユーザーが(すなわちProject.Update_DateまたはProject.Due_Dateなど)でフィルタしたいフィールドを等しくなりますSELECT Project.ProjectID, Project.Name, Project.Update_Date, Project.Due_Date, Project.Start_Date, Project.Review_Date
FROM Project
WHERE @datetypefiler BETWEEN @startdate AND @enddate
SSRSでは、さまざまな日付フィールドと等しい@datetypefilerのパラメータを構築し、開始日と終了日のフィルタを期待どおりに設定しました。
@datetypefilerをこのようにパラメータ化できるかのようには思われません。私はそのように、ケースのキーワードを使用しようとしました:
SELECT Project.ProjectID, Project.Name, Project.Update_Date, Project.Due_Date, Project.Start_Date, Project.Review_Date
FROM Project
WHERE CASE
when @datetypefiler='Project.Update_Date' then Project.Update_Date BETWEEN @startdate AND @enddate
when @datetypefiler='Project.Due_Date' then Project.Due_Date BETWEEN @startdate AND @enddate
このありえないが、どちらか私のために働いて、私の代わりに暗闇の中でショットを取る、私は正しい方法はどのように見えるかを問う必要があることを把握します。 @datetypefiler
が一致した場合
SELECT *
FROM Project
WHERE (@datetypefiler='Project.Update_Date'
AND Project.Update_Date BETWEEN @startdate AND @enddate)
OR (@datetypefiler='Project.Due_Date'
AND Project.Due_Date BETWEEN @startdate AND @enddate)
OR
は唯一のフル文を評価します。この上の任意のアドバイスを大幅に
ありがとう、これはトリックをしたようです! – SqlQuery123