现在有个数据集
货品 时间 仓库 金额
A 2008-01-03 a 100
A 2008-02-01 a 80
A 2008-02-05 a 55
要出个报表,报表时间是 2008-02-05
仓库a
货品 年 月 日
A 235 80 55
我怎么才能在reporting service 中出这种表单,仓库a和货品A是个汇总动态组,但年 月 日那里,我要怎么给表达式参数呢?
希望能给答案和建议
定义三个公式,判断是当年的,sum(),判断是当月的,sum(),判断是当天的,sum()
SELECT '1' TYPE,仓库,货品,SUM(金额),DATEPART(Y,时间) YERA
FROM TABLE
WHERE 时间 < 报表时间
GROUP BY 仓库,货品,DATEPART(Y,时间)
UNION
SELECT '2' TYPE,仓库,货品,SUM(金额),DATEPART(M,时间) YERA,DATEPART(M,时间) MONTH
FROM TABLE
WHERE 时间 < 报表时间
GROUP BY 仓库,货品,DATEPART(Y,时间),DATEPART(M,时间)
UNION
SELECT '3',仓库,货品,SUM(金额),时间
FROM TABLE
WHERE 时间 < 报表时间
GROUP BY 仓库,货品,时间
数据用这样的处理
在报表里用IIF判断TYPE即可
本文介绍如何使用SQL查询配合报表服务实现动态汇总报表的需求。针对特定条件(如日期范围内的金额汇总),通过分组和聚合函数实现不同层级(年、月、日)的数据汇总。
1199

被折叠的 条评论
为什么被折叠?



