rdlc报表 行列转换 谢谢大家先

荒牧 2011-09-11 12:02:02
采用 .rdlc报表
数据源为两张表,格式如下
Tb_Student

学号 姓名
01 张三
02 李四

Tb_Score

学号 科目 成绩
01 语文 78
01 数学 95
01 英语 56
02 语文 75
02 数学 94
02 英语 53

期望生成报表格式为
学号 姓名 语文 数学 英语 总分
01 张三 78 95 56 239
02 李四 75 94 53 232

要求:rdlc的数据源不使用Sql的行列转换方式,行列转换在报表内部实现,望各位大侠附上解决办法
...全文
114 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ajaxtop 2011-09-23
[Quote=引用 4 楼 luols 的回复:]
添加矩阵,我先以你的Tb_Score表为例:

将 学号字段拖到“行”处,科目字段拖到“列”处,成绩字段拖到“数据”处,然后右击“列”单元格选择“小计”,如图示:


小计后



运行后:
[/Quote]

+
回复
大Y 2011-09-22
  四楼的非常正确。 顺便也讲了怎么应用。

  矩阵,自己搞两个例子出来就行了


 
回复
阿双2009 2011-09-14
添加矩阵,我先以你的Tb_Score表为例:

将 学号字段拖到“行”处,科目字段拖到“列”处,成绩字段拖到“数据”处,然后右击“列”单元格选择“小计”,如图示:


小计后



运行后:
回复
荒牧 2011-09-12
[Quote=引用 1 楼 zjw14730 的回复:]

declare @sql varchar(1000)
set @sql='select student_id'
select @sql= isnull(@sql,'')+ ', sum( case subjectName when '''+ subjectName+''' then number else 0 end) as '''+subjectName+''''
From s……
[/Quote]

这是Sql的行列转换方式,请问如何在不使用这种方法的情况下,在报表内部实现?
回复
C#方面报表,我也在学习中,
帮你顶顶先............
回复
zjw14730 2011-09-12
declare @sql varchar(1000)
set @sql='select student_id'
select @sql= isnull(@sql,'')+ ', sum( case subjectName when '''+ subjectName+''' then number else 0 end) as '''+subjectName+''''
From source group by subjectName
select @sql=@sql+'From source group by student_id'
exec(@sql)
print @sql
回复
相关推荐
发帖
图表区
创建于2007-09-28

4810

社区成员

.NET技术 图表区
申请成为版主
帖子事件
创建了帖子
2011-09-11 12:02
社区公告
暂无公告