2017-05-02 10 views
0

次のクエリを使用して、-1日(最新)、-2日、-3日および-40日の4つの異なる日付からスナップショット値を取得しています実装された)。SSRSグラフ:SQLクエリの異なる日付から値を取得

SELECT [SnapshotDate] 
     ,[SnapshotKey] 
     ,[info1] 
     ,[info2] 
     ,[info3] 
FROM [Database].[dbo].[Values] 
WHERE [SnapshotDate] >= DATEADD(day,-3, GETDATE()) 
AND [SnapshotKey] = 'Some text here' 

これは、次のグラフをもたらす:それは4つの値を示しているだけこの時点では3を示しなければならないので

enter image description here

クエリは非常に適切まずありません。次に、40日前の最後のスナップショットをグラフに示します。

私はいくつかの異なるクエリを試しましたが、これを正しく行う方法を把握することはできませんでした。

[SnapshotKey] = SELECT DATEADD(day,-40,getdate()) 

上記のクエリは、私に理論上正しい答えを与えます。しかし、これを私のクエリで使用すると、結果はありません。私は、これが日付変換をしていないことや、私のクエリで「日」を使用しているという事実が原因だと信じています。よく分かりません。

提案がありますか?

EDIT:

私も運(結果なし)で、以下を使用してみました:

CONVERT(date, [SnapshotDate]) = CONVERT(date, DATEADD(day,-40, GETDATE())) 
+0

サンプルデータがありますか?それは問題を解決するのに役立ちます – JonWay

答えて

1

私はあなたの日付の値が何であるかわからないが、私は、このレポートが実行された推測しています5月2日に これが正しい場合は、日付の差異がゼロの場所を除外する範囲を変更する必要があります。個人的には私のために視覚化しやすいので、このような状況でDATEDIFFを使用します。

where句を次のように変更してみてください。

WHERE (DATEDIFF(day, getdate(),[SnapshotDate]) BETWEEN -3 AND -1 
    OR DATEDIFF(day, getdate(), [SnapshotDate]) = -40) 
    AND [SnapshotKey] = 'Some text here' 
+0

これは私が必要としていたものでした。どうもありがとうございます! – krynil

関連する問題