SSRS - 参数年度的总计,包括前2年

时间:2017-04-17 21:27:45

标签: reporting-services

给出以下数据集:

DECLARE @temp TABLE (
[Company] [INT]
,[Year] [INT]
,[PAID] [DECIMAL](18,2)
,[Billed] [DECIMAL](18,2))
INSERT INTO @temp
SELECT 2,2005,8328364.00,639739.00
UNION ALL
SELECT 2,2006,12770109.00,599937.00
UNION ALL
SELECT 2,2007,883021.00,34179.00
UNION ALL
SELECT 2,2008,876531.00,31421.00
UNION ALL
SELECT 2,2009,1947464.00,63322.00
UNION ALL
SELECT 2,2010,717350.00,22072.00
UNION ALL
SELECT 2,2011,895174.00,28444.00
UNION ALL
SELECT 2,2012,1091637.00,36853.00
UNION ALL
SELECT 2,2013,699646.00,23355.00
UNION ALL
SELECT 2,2014,1623403.00,58649.00
UNION ALL
SELECT 2,2015,566479.75,20463.00
UNION ALL
SELECT 2,2016,128700.00,2990.84

select *
from @temp

收率: Rset1

我的SSRS 2014报告包含年份参数。

我在基于某些年份的总计困难时期。我将需要有3个总计行,其中1个将是所有年份的总和,另外2个;总共3年,总计5年。 3年和5年总计将是基于参数年份和前5年(包括参数年份)的付费和计费字段的总数。

例如:

参数年份= 2015 总计行上的SSRS输出应为: Rset2

理想情况下,我会喜欢在T-SQL本身中处理这种总计,但不幸的是,这只是这篇特定报告中的一小部分难题,我不得不在SQL和SSRS中编写一个复杂的解决方案来实现它。为客户工作。基本上,完成后的报告将依赖于没有计算总字段的年度总计数据集,以及SSRS内部完成的所有总计。

1 个答案:

答案 0 :(得分:0)

我最后通过在SQL结果集中添加一个bool来解决这个问题,然后在字段中使用这个表达式:= SUM(iif(Fields!bool.Value = 1,cdbl(Fields!Paid.Value),0.00 ))