日期:2014-05-20  浏览次数:20956 次

记录筛选
你好,这是我之前发过已经关了的帖子,现在又出问题了,因为有很多列需要筛选,所以做了很多的子报表,可是现在报告变得运行速度很慢很慢(报告数据很多),想问,子报表会影响整体的报表运行速度吗?是不是要解决的话只能是想办法全都做在主报表里,那如果要做在主报表里,这种情况又应该怎么做呢?




楼主发表于:2010-04-25 18:59:53

我是水晶报表新手,在同一个数据源表里,分成不同的列在报告中显示选定的值。

打个比方,一下是数据源

性别 姓名 成绩

男 张三 71
女 王丽 62
男 王凯 59
男 刘明 80
女 李雪 86


成型表示这样要按“男女”的条件来返回姓名和成绩,如下

  男 女
张三 71 王丽 62
王凯 59 李雪 86
刘明 80   


我在做的时候,用 报表 - 选择专家 - 记录, 然后性别选择“男“,报表的第一列和第二列会返回正确的值,想要请教如何将“女” 的值也同时体现在报表上呢?这里谢过了!  
 
 
 

 
luols
 
(雙) 

等 级: 

 #1楼 得分:40回复于:2010-04-25 19:14:46


张三 71  
王凯 59  
刘明 80   


王丽 62
李雪 86

这样显示不行麽  
 
 
zmq0523
 
(zmq0523) 

等 级: 

 #2楼 得分:0回复于:2010-04-25 19:20:50

感谢回复!

这样不行,在不同列。 
 
 

 
luols
 
(雙) 

等 级: 

 #3楼 得分:0回复于:2010-04-25 20:26:11

可以选择挂两个子报表:
一个过滤“男”的,一个过滤“女”的

以此来达到这种效果,
 
 
 

------解决方案--------------------
使用子报表确实会导致报表整体性能下降,特别是在大数据量的情况下更是明显。
如果你现在是每个列都用了子报表的话,那无疑是性能最低的一种

这种情况,个人建议做一个物理表(或view),把数据先按指定列准备好,然后再传递给报表。
做一个最基本的列表显示
------解决方案--------------------
物理表就是一个普通的大表,其结构就跟你最终在报表上表现出来的那个样子差不多
数据不会同步更新的,你可以做个脚本定时更新
其本质跟操作一个普通的表是完全一样的
也可以将其处理成view,这样的话就会跟着表的更新自动更新了

------解决方案--------------------
引用:
14楼?这里没有14楼哦,去哪里看呢?还有哦,你们五一假期会在论坛上吗?


不好意思,是4楼~~

我五一会在。

你最好把你现在的数据结构和已经做好的这个效果,截图出来看看。
具体分析分析

------解决方案--------------------
引用:
我发图片一直发不上来,都是一个叉叉,请问是怎么回事呢?


对于这个红叉叉问题,可参考下这篇文章
水晶报表出现红叉叉的解决方法

对于10楼的数据来看,这应该是一个交叉表的效果。