0

私は以下の出力を与えるデータセット、SQLクエリの出力を持っています:

Year Month  TotalSales  TotalProducts
2013   1          23233           45
2013   2           3344           43
2013   3             232             11
2013   4            2232           23

SSRSを使用して、上記のデータセットを表と棒グラフで表現しようとしています。

SSRSで月を過去3か月に制限する方法はありますか??

SSRS のパラメーターとして現在の月を使用しています。

例: パラメータとして月 4 を選択します。棒グラフと表で月 4、3、および 2 の結果のみを表示したいと思います。

私ができる方法はありますか?

実際のクエリは次のようになります。

SELECT ISNULL(x.[Month],z.[Month]) AS [Month],  
       ISNULL(x.Sum_Stores, 0) - ISNULL(y.Sum_SalesStores, 0) AS Difference , ISNULL(Sum_onetonine, 0) as EcontractsbetweenOneandNine........................
FROM   
(
    SELECT [Month], Sum(Stores) AS Sum_Stores 
    FROM   SUM_XXX 
    WHERE  [Year] = '2013' and Name = 'Pro'
    GROUP BY [Month]
) AS x
FULL OUTER JOIN
(
    SELECT [Month], Sum(tracts) AS Sum_SalesStores 
    FROM   SUM_yyy 
    WHERE  [Year] = '2013' and Name = 'Pro'
    GROUP BY [Month]
) AS y ON x.[Month] = y.[Month] 
............................
4

2 に答える 2

0
declare @ParamDate DateTime =null; -- Pass the required date in datetime format
                                   -- as per your example pass @ParamDate as '20130401'
SET @ParamDate = getdate(); --setting the current date for demo purpose

SELECT ISNULL(x.[Month],z.[Month]) AS [Month],  
       ISNULL(x.Sum_Stores, 0) - ISNULL(y.Sum_SalesStores, 0) AS Difference , ISNULL(Sum_onetonine, 0) as EcontractsbetweenOneandNine........................
FROM   
(
    SELECT [Month], Sum(Stores) AS Sum_Stores 
    FROM   SUM_XXX 
    WHERE  ([Year] = year(@ParamDate) or [Year] = year(dateadd(m,-2,@ParamDate)) )
            and ([Month] = month(@ParamDate) or [Month] = month(dateadd(m,-2,@ParamDate)) )
            and Name = 'Pro'
    GROUP BY [Month]
) AS x
FULL OUTER JOIN
(
    SELECT [Month], Sum(tracts) AS Sum_SalesStores 
    FROM   SUM_yyy 
    WHERE  ([Year] = year(@ParamDate) or [Year] = year(dateadd(m,-2,@ParamDate)) )
            and ([Month] = month(@ParamDate) or [Month] = month(dateadd(m,-2,@ParamDate)) )
            and Name = 'Pro'
    GROUP BY [Month]
) AS y ON x.[Month] = y.[Month] 
............................
于 2013-11-13T01:18:01.517 に答える