现在有个数据集
货品 时间 仓库 金额
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即可