ReportServies 报表开发心得
来源:互联网 发布:手机隧道测量软件 编辑:程序博客网 时间:2024/06/11 08:00
微软sql server 系列自带的报表开发给开发人员开发报表带来了很大的方便。利用sql server 自带的商业智能模板开发报表,可以让程序员写一些sql语句,就可以开发出功能强大的报表。
具体的开发细节问题,大家可以看msdn上帮助,上面关于自定义报表的开发描述的很详细,而且如果你完全按照sql server 数据库,也会带相应的Resports示例。但是如果你想开发出更好的报表,还需要自己摸索一番,下面是我在开发报表中总结出来的一些经验,希望对开发报表的新手会有些帮助。
1:共享数据源问题,如果你的报表只是用于ResportView显示,利用共享数据源会很方便,但是如果你的报表是发布到微软CRM3.0上,共享数据源就会有些问题。这里提供一个很好的解决办法,包括利用共享数据源。我们可以给数据库设置一个别名(aliases,具体方法参照SQL SERVER Configuration Manager),这样当我们改变服务器是,只需给sql server 服务器加上一个别名,就可以轻松解决部署问题。
2:报表参数,当报表绑定数据源时,产品会自动加上参数,参数类型和数据库中的类型一致,如果想更改参数类型,如隐藏,是否必输项等,可以在报表>>报表参数里修改;若是子报表,可以把子报表的参数设置为内部,在父报表调用子报表时,传递参数给子报表。
3:子报表,可以用子报表控件。我们这里讨论的是报表链接形式。和其他网页一样,当用户点击某一条记录的明细记录时,会跳转到该明细的子报表上。具体方法是,在某一字段上点击属性>>导航>>调至报表>>选择子报表的名称,可以选定参数等。这里两点需要注意,一是参数名称必需和子报表参数的名称一至,而是跳至报表的名字问题,如果你发布到Resports上去,子报表不可更改其名字,否则会找不到子报表,因大部分子报表只有从父报表中传递显示,可以设置Resports上子报表的属性为隐藏。
4:矩阵问题,相信大家在报表开发时很多情况都有交叉表问题,即我们所说的矩阵,矩阵的用法比较复杂些,在这里我想说的矩阵中的合计问题,有时候无论你怎么选择小计,就是不小计,问题就在于你的小计内容里的每一项没有加SUM()函数,这个问题很奇怪,不知微软为什么这么搞。
5:报表常用函数,
希望这些对初开发人员有些帮助,这些内容也都是我自己在第一次开发报表中遇到的一些实际问题。
具体的开发细节问题,大家可以看msdn上帮助,上面关于自定义报表的开发描述的很详细,而且如果你完全按照sql server 数据库,也会带相应的Resports示例。但是如果你想开发出更好的报表,还需要自己摸索一番,下面是我在开发报表中总结出来的一些经验,希望对开发报表的新手会有些帮助。
1:共享数据源问题,如果你的报表只是用于ResportView显示,利用共享数据源会很方便,但是如果你的报表是发布到微软CRM3.0上,共享数据源就会有些问题。这里提供一个很好的解决办法,包括利用共享数据源。我们可以给数据库设置一个别名(aliases,具体方法参照SQL SERVER Configuration Manager),这样当我们改变服务器是,只需给sql server 服务器加上一个别名,就可以轻松解决部署问题。
2:报表参数,当报表绑定数据源时,产品会自动加上参数,参数类型和数据库中的类型一致,如果想更改参数类型,如隐藏,是否必输项等,可以在报表>>报表参数里修改;若是子报表,可以把子报表的参数设置为内部,在父报表调用子报表时,传递参数给子报表。
3:子报表,可以用子报表控件。我们这里讨论的是报表链接形式。和其他网页一样,当用户点击某一条记录的明细记录时,会跳转到该明细的子报表上。具体方法是,在某一字段上点击属性>>导航>>调至报表>>选择子报表的名称,可以选定参数等。这里两点需要注意,一是参数名称必需和子报表参数的名称一至,而是跳至报表的名字问题,如果你发布到Resports上去,子报表不可更改其名字,否则会找不到子报表,因大部分子报表只有从父报表中传递显示,可以设置Resports上子报表的属性为隐藏。
4:矩阵问题,相信大家在报表开发时很多情况都有交叉表问题,即我们所说的矩阵,矩阵的用法比较复杂些,在这里我想说的矩阵中的合计问题,有时候无论你怎么选择小计,就是不小计,问题就在于你的小计内容里的每一项没有加SUM()函数,这个问题很奇怪,不知微软为什么这么搞。
5:报表常用函数,
-
IIf(Logical_Expression, {Expression1, Expression2}) If Expression1 and Expression2 are specified, and
Logical_Expression evaluates to true, the IIf function
returns Expression1. Otherwise, the function returns Expression2. - Format() 格式转换
- sum() 合计值
- RowNumber(Nothing) 自增列序号显示
希望这些对初开发人员有些帮助,这些内容也都是我自己在第一次开发报表中遇到的一些实际问题。
- ReportServies 报表开发心得
- 开发jxca报表心得
- vba开发动态报表心得
- 【报表开发】iReport使用心得
- 【报表开发】iReport使用心得
- [原创]oralce报表开发中的一些问题心得
- jasperreports<子报表+交叉报表+分组>单据模式统计当前页码/总页码 - 开发心得
- 网络报表学习体会心得!
- 报表制作心得
- 做报表心得
- ERIS报表使用心得(一)
- 快逸报表部署心得
- 润乾报表使用心得
- rdlc报表心得(二)
- 润乾报表使用心得
- 快逸报表部署心得
- VS2010 RDLC 报表使用心得
- 润乾报表使用心得
- js中innerHTML与innerText的用法与区别
- 【转】Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
- B树
- com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection timed out: connect数据库
- hibernate的几种映射
- ReportServies 报表开发心得
- 多线程如何传递参数
- vb打开并重新保存EXCEL文件
- Cookies的使用心得
- 使用多线程加载多个Xml文件到TreeView控件
- 21天学通C语言第五天---函数
- 数据库参数
- 微软Vista今起大幅降价 最高幅度达到千元
- D3D文字渲染心得