0

SSRS で設定された年パラメーターに基づいて、特定のカウントベースの総計をどのように計算するのか疑問に思っていました。特定の年を選択すると、それ以前のすべての年のカウントが現在のカウントに加算されます。ストアド プロシージャで @year パラメーターを使用する前は、SSRS で機能していましたが、今回はそれをハードコーディングしてから、SSRS に year パラメーターを使用します。

現時点で作業しているコードのサンプルを次に示します。

select
sum(MITotal.Count) as 'Yearly Count',
year(c_date) as 'year'

from 
(select 
    count(*) as Count,
    pol1.C_STATE,
    month(pol1.c_Date) as Month,
    year(pol1.c_ate) as Year,
    left(datename(mm, C_Date), 3) + ' ' + cast(year(C_Date) as char(4)) as MonthYear
    from contract pol1
    where 
        pol1.C_STATE='wa' 
    group by pol1.C_STATE,month(pol1.c_Date),year(pol1.c_Date), left(datename(mm, C_Date), 3) + ' ' + cast(year(C_Date) as char(4))) MITotal
    group by MITotal.Year

これは以下を返します:

2   2009
5   2010
6   2011

2010 年をパラメータ年として選択すると、5+2 または 2011 が追加され、総計として 5+6+2 が追加されるように、コードに追加するにはどうすればよいでしょうか。任意のポインタをいただければ幸いです。

4

1 に答える 1

2

year パラメーターに基づいて CASE ステートメントを合計すると、次のようになります。

SUM(CASE WHEN Year(c_Date) <= @Year THEN MITotal.Count END) AS 'Historical Total'
于 2013-03-19T01:59:09.387 に答える