水晶报表按时间汇总问题,跪求大神指导!

zhongjak 2014-01-09 03:22:42
各位大神,企业里面常用到的财务报表中常会用到下面三个项目的汇总金额,求大神们指导如何在不动用存储过程的情况下将期初、本期及累计这三个项目金额汇总,谢谢!

如果是取本期的数据汇总很简单,难的是将期初和累计金额数据汇总。

数据如下图:左边为数据源,右边为要求汇总结果

...全文
840 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongjak 2014-01-10
  • 打赏
  • 举报
回复


1、可能我表达的不是很好,期初数是第一个时间参数前的金额汇总,不是最大值
2、本期是指两个时间参数中间的金额汇总
3、累计是最后一个时间前的金额汇总
4、之前忘记说了,我要用水晶报表来做的,另外时间都是一个参数,我这里只是列数据举个例子,如下图:

5、我的难点是,在选择两个时间参数后,我的数据只能取到两个时间参数中间的数据了,第一个时间参数之前的数据我取不到了(就是所谓的期初数据)

跪求大神指导
熙风 2014-01-10
  • 打赏
  • 举报
回复

select name as '字母',
max(case when date='2013-01-01' then amount else 0 end) as '初期金额',
sum(case when date>'2013-01-01' then amount else 0 end) as '本期金额',
sum(amount) as '累计金额'
  from tab group by name
熙风 2014-01-10
  • 打赏
  • 举报
回复
把时间换成你的参数就行了
select name as '字母',
sum(case when date<'2013-01-01' then amount else 0 end) as '初期金额',
sum(case when date>='2013-01-01' AND date<='2013-01-02'   then amount else 0 end) as '本期金额',
sum(case when  date<'2013-01-02'   then amount else 0 end) as '累计金额'
  from tab group by NAME
熙风 2014-01-10
  • 打赏
  • 举报
回复
引用 2 楼 zhongjak 的回复:
1、可能我表达的不是很好,期初数是第一个时间参数前的金额汇总,不是最大值 2、本期是指两个时间参数中间的金额汇总 3、累计是最后一个时间前的金额汇总 4、之前忘记说了,我要用水晶报表来做的,另外时间都是一个参数,我这里只是列数据举个例子,如下图: 5、我的难点是,在选择两个时间参数后,我的数据只能取到两个时间参数中间的数据了,第一个时间参数之前的数据我取不到了(就是所谓的期初数据) 跪求大神指导
select name as '字母',
sum(case when date='2013-01-01' then amount else 0 end) as '初期金额',
sum(case when date>'2013-01-01' AND date<='2013-01-02'   then amount else 0 end) as '本期金额',
sum(case when  date<'2013-01-02'   then amount else 0 end) as '累计金额'
  from tab group by NAME
其实你自己改改也是可以的

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧