水晶报表 按月份查询(不定列)

ahe35 2009-11-19 08:24:34
我的表结构有三个字段:

客户名称,销售额,日期


需要生成月份为列的报表。月份区间是可以选择的。
格式如下

客户名称 2009年8月以前 2009年8月 2009年9月 2009年10月 2009年10月以后

有哪位高手帮帮忙。。谢谢了。
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
雷肿么了 2009-11-20
  • 打赏
  • 举报
回复
像这种,一般都用储存过程来实现。。

在储存过程里构造好,,直接拖出来方便
悔说话的哑巴 2009-11-19
  • 打赏
  • 举报
回复
写到存储过程去吧
cz5505 2009-11-19
  • 打赏
  • 举报
回复
good
阿泰 2009-11-19
  • 打赏
  • 举报
回复
这种情况用水晶报表很难实现。
还是按照1楼和2楼的建议,在数据库中构造好数据。

而且根据你的表述,SQL也不容易造,呵呵

客户名称 2009年8月以前 2009年8月 2009年9月 2009年10月 2009年10月以后

中间的月份是否就是固定为3个月,前后为之前或之后
因为你还要选择时段,选择的时段的跨度是否必须要大于等于3个月
这样才能固定下一个样式来
zzxap 2009-11-19
  • 打赏
  • 举报
回复
group by month(销售日期)
zzxap 2009-11-19
  • 打赏
  • 举报
回复

[code=SQL]
select 客户名称,sum(销售额) as 月销售额, month(销售日期) as 月 into #table1 from table group by left(日期,7),客户名称

select 客户名称,
max(case when 月='1' then 月销售额 else 0 end) 1月,
max(case when 月='2' then 月销售额 else 0 end) 2月,
max(case when 月='3' then 月销售额 else 0 end) 3月,
。。。。。。。。。。
sum(case when 月='12' then 月销售额 else 0 end) 12月,
from #table1
group by 客户名称

[/CODE]

wuyq11 2009-11-19
  • 打赏
  • 举报
回复

4,818

社区成员

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

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