zoukankan      html  css  js  c++  java
  • 信息化基础建设 Reporting Services报表开发

    Reporting Services 报表开发

    1. 设计报表

    2. 部署报表

    3. 测试报表

    设计报表

    启动Visual Studio 2008, 新创建报表项目,添加一个新的报表。

    从工具箱中拖个Table到报表设计器中

    clip_image002

    自动弹出报表属性对话框,新创建一个连接,类型选.NET Assembly,字符串为net.tcp://localhost:2908/ServiceManager

    clip_image004

    返回到报表属性,准备输入SQL查询语句

    找到QueryBuilder组件,打开,并选择报表程序集,点击类型下面的方法名后,在右边的窗格中自动生成对应的SQL查询语句

    clip_image006

    如果Always copy to the Clipboard已经打勾,查询语句已经被复制到剪贴板中,在BIDS中Paste查询语句,并点击查询

    执行SQL查询的效果如下

    clip_image008

    回到报表设计器,依此给Table组件的各个TextBox赋值,完成后,效果如下

    clip_image010

    如图中所示,再到Report Header中添加Date Time,User Id,Page, Report Id四个属性,并设置Table Header的字体为Bold

    至此,报表已经完成,点击Preview,查看效果

    clip_image012

     

    部署报表

    回到ERP应用程序中,打开Report Manager管理程序,选择Add Report

    clip_image014

    选择刚才制作的报表,等待一下,这个报表就被部署到服务器中

    clip_image016

    为了维护报表的统一用户接口,支持不同的报表类型,自动化传递参数,权限控制,还需要到报表对话框中配置

    在维护报表对话框,重新建立一个报表ID=GLCUCAR,设定报表类型为Reporting Services, 不需要添加参数,并且到功能授权中给与执行权限。

    在Report Manager中执行,效果如下

    在报表配置程序中,配置如下的报表浏览网站

    clip_image018

    点击连接,即可打开和预览报表

    clip_image020

     

    报表测试

    1. 精度。不同的舍入方式和计算方式,会对结果精度有影响。

    举例:分组求和的结果可能和汇总求和的结果不同,而且数据量越多,误差可能会越大。

    而且在每笔纪录计算时,都会发生数据精度损失。比如,100/1.22=81.9672131147541,一般是保留四位小数,再依次对这个值进行求和,结果就有些出入。

    再距离,Math.Roud() 这个方法不是通常意义中的四舍五入,而是国际通用的算法。这会对值造成影响。

    而SQL Server中Round的四舍五入也有些不同。

    在数据库中做summary和把值取到报表中做summary,结果上也有区别。

    2. 所有的报表,日期格式要求一致

    3. 制造大量的数据来测试报表的Performance.

    如下图,使用这个工具,来产生大量的数据.以ReportServer中的History表为例子

    clip_image022

    工具的原理是,读取数据库表的字段类型,生成一系列的数据放入到相应的列中。

    数值型的列,可以用seed,自增的方式,或是rand随机取值

    字符型列,可以字符加数字的方式,不断的产生不同的字符串。

    当数据量增大时,报表的performance会明显降低,这时,需要寻找一些优化的技巧。

    4. 选择条件的测试

    clip_image023

    如果是需要用户输入的值,最好能给出一个对话框,用以选择值,减少值出错或是无效的值的情况。

    如果是时间,要控制取值范围,依据业务数据的开始和结束时间为准。

    5. 数据的排序要求。在分组的组别排序和明细数据的排序,规则要统一。

    6. 字体字号,是否加黑,是否倾斜,都依照规范。

    一般的规则是,报表标题14pt, 报表表头12pt,明细数据10pt, 标题都加黑体。

    7. 报表导出测试

    导出的格式是否有不合理的地方,是否符合通用的纸张大小(A4),可以直接打印。

    导出成PDF是否有乱码,页面的边距是否合理。

  • 相关阅读:
    mysql 安装教程
    Centos 7和 Centos 6开放查看端口 防火墙关闭打开
    yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
    CentOS更改yum源与更新系统
    Linux中文显示乱码?如何设置centos显示中文
    centos 7 升级/安装 git 2.7.3
    Maven实现项目构建直接部署Web项目到Tomcat
    ODAC (odp.net) 从开发到部署
    OGNL的使用
    DotNet Core 中使用 gRPC
  • 原文地址:https://www.cnblogs.com/JamesLi2015/p/2079376.html
Copyright © 2011-2022 走看看