`
datamachine
  • 浏览: 161840 次
社区版块
存档分类
最新评论

脚本式计算能力对报表工具的重要性

阅读更多

在报表项目开发中常常会出现自定义数据源的情况。这是因为有很多结构化计算比较复杂,需要多步骤完成。sql或者报表本身的计算能力并不适合完成这种过程化计算,所以报表程序员会借助于报表API,使用Java程序来完成。

 

例如这个《各地区销售情况分析表》:



 

该报表是根据订单表统计各(预置)时间段内,各地区的订单数量、订单金额汇总。其中各时间段范围为:

   1996年圣诞前:date < 1996-12-25

   1996年圣诞--1997年国庆:1996-12-25 <= date <= 1997-10-1

   1997年国庆--1998年五一:1997-10-1 <= date <= 1998-5-1

   1998年五一以后:date>1998-5-1

这个分段段界包含关系要求:起始和结束两段不包含段界日期,而中间的各个分段则包含段界日期。这样不规则的计算用SQL、报表的计算公式都比较困难。一般就会采用自定义的Java编程解决。

但是,java程序在结构化计算方面的类库较少,实现上述计算很复杂。而且,java程序和报表模板是分离的,在代码管理上很麻烦。

特别是对数据集的少量调整计算,也要折腾Java的开发环境、代码管理、打包部署等,就太麻烦了。

 

对于这种情况,脚本式计算能力对报表工具的重要性就很明显了:在报表设计器中直接编写计算脚本,可以很好的处理需要对数据集进行少量的调整计算又不适合在报表中完成的情况,比如不规则运算、需要多个步骤完成的计算等,相比外部的Java编程要轻松很多。

为此,润乾集算报表提供了脚本数据集方案,实现思路是,在脚本数据集中编辑集算脚本,完成数据计算和处理,将加工后的结果作为数据集提供给报表,从而使报表获得数据源再计算的能力,不必在外部编写Java程序。

 

脚本数据集和传统方案的结果对比示意图如下:


 

         《各地区销售情况分析表》可以直接在集算报表中编辑脚本数据集,编写集算脚本数据,如下:

 


 

 其中arg1值:?<="1996-12-25",?>="1996-12-25" && ?<="1997-10-1",?>="1996-12-25" && ?<="1998-5-1",?>"1998-5-1"arg2值:1996年圣诞前,1996年圣诞--1997年国庆,1997年国庆--1998年五一,1998年五一以后。

可以看到报表设计、计算脚本编写都在同一个rpx文件中,编程和管理都要比java程序简单很多。

  • 大小: 39.6 KB
  • 大小: 37.9 KB
  • 大小: 57.2 KB
1
2
分享到:
评论

相关推荐

    15款报表工具的总结

    报表工具在企业数据管理与分析中扮演着至关重要的角色,它们能够帮助用户从海量数据中提炼出有价值的信息,为决策提供依据。以下是根据标题“15款报表工具的总结”,描述及部分内文整理出来的关于报表工具的详细知识...

    reportMachine报表工具

    4. **计算和汇总**:报表工具应能进行基本的数学运算,如求和、平均值、最大值等,以及更复杂的计算如百分比、比率等。"reportMachine"可能也具备这些功能,便于用户进行数据分析。 5. **图表生成**:将数据以图形...

    解析BIRT-Eclipse商业智能和报表工具(全)

    ### BIRT—Eclipse商业智能和报表工具解析 #### BIRT简介 BIRT(Business Intelligence and ...总之,BIRT是一款非常值得学习和使用的开源报表工具,在当前信息化建设日益重要的背景下,它将在更多领域发挥重要作用。

    Fast Report报表工具 fr3tofrx(报表工具转换).rar

    Fast Report报表工具的核心功能包括: 1. **设计界面**:Fast Report提供了一个直观的报表设计器,用户可以通过拖放操作来添加、编辑和排列报表元素,如表格、文本框、图像和图表等。此外,它还支持自定义脚本,...

    fastreport报表脚本frf及fr3格式

    报表脚本是FastReport的重要组成部分,它允许用户自定义报表的生成逻辑,实现更复杂的计算、条件判断和数据处理。在本文中,我们将深入探讨FastReport报表脚本,特别是FRF和FR3格式,以及它们在处理显示值换行、日期...

    润乾报表工具

    用户可以通过拖拽方式快速构建报表,同时还可以利用自定义函数和脚本进行高级计算和逻辑控制,满足企业对各类复杂报表的需求。此外,工具还支持动态参数设置,使报表具有交互性,能够根据用户输入实时调整显示内容。...

    MCGS_脚本驱动开发工具.rar

    《MCGS脚本驱动开发工具详解》 MCGS(Monitor & Control for General ...总的来说,MCGS脚本驱动开发工具为用户提供了强大的自定义能力,通过熟练运用,开发者可以构建出功能强大、适应性强的工业自动化解决方案。

    labview与office报表工具包

    使用这样的工具包,工程师和科研人员可以利用LabVIEW的强大计算能力处理数据,同时利用Office的易用性和格式化能力呈现结果。这对于需要频繁进行数据处理和报告制作的领域,如工程测试、科研实验和质量控制,具有...

    iReport-5.6.0报表工具安装包

    这个“iReport-5.6.0报表工具安装包”包含了两个主要的组件:JDK1.7和iReport的5.6.0版本,这确保了用户能够在不额外下载JDK的情况下顺利进行安装和使用。 首先,让我们详细了解一下JDK(Java Development Kit)。...

    中国式报表打印程序

    在使用中国式报表打印程序时,开发者需要注意PB9的限制和特性,比如其对数据窗口对象的支持程度,以及如何利用PB9的API和脚本语言来扩展报表的功能。同时,了解中国用户的实际需求和习惯,是开发出成功报表打印程序...

    WinCC数据报表实现方

    WinCC报表功能总结方面,其报表工具支持多种数据源,可以导入或链接到外部数据源,使得报表的创建和编辑更加快捷方便。报表工具还支持在线预览和打印输出功能。 使用脚本和EXCEL实现报表是另一个常用的方法。在...

    [第6讲]脚本系统.pdf

    动态链接库(DLL)是Windows操作系统中重要的组件,允许脚本或程序共享代码和资源,提高程序的可维护性和性能。在脚本中使用DLL需要使用特定的指令来加载和调用DLL中的函数。ANSI-C脚本中的示例展示了如何使用#...

    jimu_report-oracle.zip

    5. 数据分析:除了基础的查询和展示,积木报表还支持对Oracle数据库中的数据进行深度分析,如计算指标、过滤条件、分组统计等。此外,还提供了图表组件,将数据以图形化形式展现,便于用户直观理解数据趋势和模式。 ...

    shell 脚本 cdr

    在IT行业中,Shell脚本是一种极其重要的自动化工具,特别是在Linux和Unix系统中。"cdr"通常指的是Call Detail Record,即电话详单记录,主要用于记录通信系统中的通话信息。结合提供的标题和描述,我们可以理解这里...

    WinCC数据报表实现方法介绍

    报表的内容需求通常涉及数据的计算与处理,包括但不限于求和、平均值、最大与最小值等统计运算。在某些情况下,如图1所示的月报表,需考虑特殊的工作模式,例如“四班三倒”制度下各班次出勤日的差异性,这对报表的...

    Java报表开发技术深入解析

    选择报表工具时,需要考虑其功能、性能、社区支持以及与现有项目的集成性。 2. **报表设计**: 报表设计通常涉及XML或者专门的报表设计工具,如Jaspersoft Studio。设计过程中,我们需要定义行列布局、样式、图表...

    C#-报表教程

    水晶报表(Crystal Reports)是SAP公司的一款强大报表工具,它与.NET框架(包括C#)有着良好的集成,使得开发者能够轻松地创建复杂、交互式的报表。在C#项目中,我们可以利用水晶报表的API和设计器来设计和呈现报表...

    NewHTconvertTime脚本.zip

    这通常涉及到对原始时间戳进行位操作、加法和减法等计算,以确保转换的正确性。 2. **兼容旧代码**:在不改变原有系统结构的基础上,我们需要将组态王报表中所有依赖于旧时间转换函数的地方替换为`NewHTconvertTime...

    SAP-SD销售全套脚本

    一套完整的脚本会涵盖多种定价策略和条件,如数量折扣、客户特定折扣、季节性定价等,实现自动化定价计算,减少人为错误。 3. **销售合同维护**:销售合同定义了与客户的销售条款,包括价格、数量、交货日期等。...

    Crystal Reports 水晶报表中文用户指南

    《Crystal Reports 水晶报表中文用户指南》是专为使用这款强大报表工具的中文用户设计的详尽参考资料。Crystal Reports 是一款广泛应用于商业智能领域的报告生成软件,它允许用户从各种数据源(如数据库、Excel 文件...

Global site tag (gtag.js) - Google Analytics