【发布时间】:2014-05-14 00:32:08
【问题描述】:
所以目前我有一个 SSRS 报告,它使用查找函数来比较不同的数据集,以比较当前年份与 2013 年的基准(起始年份)。现在我想更改这些 SQL 数据集以制作另一个报告,该报告将做一个动态的年复一年。因此,第一年它会给我与去年同期相同的结果(因为它仍然会比较 2014 年和 2013 年),然后明年它将比较 2015 年和 2014 年的每个月。我在 SSRS SQL 查询设计器中执行此操作。 显示当前年份的我的 SQL 语句是:
SELECT PLN.ALN, TO_CHAR(PLN.FT_DTE, 'YY/MM') AS "MM-YY", COUNT(*) AS ALT,
trim(CONCAT(PLN.ALN, to_char(PLN.FT_DTE, 'YY/MM'))) AS MONTHKEY,
PERFORMANCE.STATUS
FROM PLN, PERFORMANCE
WHERE PLN.OG = PERFORMANCE.OG AND
PLN.DST = PERFORMANCE.ACT_DST AND
PLN.FT_N = PERFORMANCE.FT AND
PLN.FT_DTE = PERFORMANCE.FT_DT AND
PLN.TIL = PERFORMANCE.ACT_TIL AND (PLN.FT_DTE BETWEEN
:P_Start_Date AND :P_End_Date) AND (PLN.DST = 'FDS') AND (PERFORMANCE.STUS = 'RAR') AND
(PLN.ALN IS NOT NULL)
GROUP BY PLAN.ALN, TO_CHAR(PLN.FT_DTE, 'YY/MM'),
PERFORMANCE.STUS
ORDER BY PLN.ALN, "MM-YY"
这允许我指定一个日期,它会计算某个字段每月出现的次数。
现在我需要编写另一个 SQL 作为单独的数据集,它将动态地查找去年的信息(而不是像我现在一年的基础报告那样只查找 2013 年信息的静态数据集)。我假设 SQL 将类似于我上面写的那个,但我不确定如何让它像那样动态。基本上对于 2014 年,它应该找到完全相同的信息。当 2015 年到来时,这份报告将与其他报告不同。
【问题讨论】:
标签: sql sql-server tsql reporting-services reporting