birt

关乎DevOps成败的三个火枪手

流过昼夜 提交于 2021-01-10 03:45:16
本文翻译并节选自《 DevOps2.0的工具集(DevOps黑宝书)——打造自动化的持续交付流程》一书 ,转自译者CSDN博客,转载请注明出处。 本文梗概: 刚开始接触持续部署、微服务(MS)和容器,你可能觉得这三个东西毫无关联。因为DevOps并没有规定持续部署中需要使用微服务,也没有要求微服务必须打包集成到容器中。但是,当我们发现这三样东西相互结合的时候,新世界的大门就这样打开了。容器领域的发展以及不可变部署的理念指导我们克服了很多以前微服务出现的问题。同时使系统变得更加灵活,部署变得更加快捷,进而实现持续部署并提高成本效率。 原著作者介绍: Viktor Farcic CloudBees资深顾问,熟悉多种编程语言,从最早的Pascal,Basic,ASP,C,C++,Perl,Python,ASP,NET,Visual Basic,C#,JavaScript等等。热衷于微服务、持续部署和测试驱动开发(TDD)。著有《Test-Driven Java Development》一书,该书由Packt出版。 持续集成 想要了解持续部署,我们必须先了解它的前身,也就是持续集成(CI)和持续交付(CD)。 在软件研发生命周期中,集成阶段往往是最让人煎熬的。每个不同的小组可能负责不同的应用和服务,耗费数周、数月甚至是数年时间进行开发。每个小组的需求各不相同,开发人员也尽力实现需求

Color cell according to condition

大兔子大兔子 提交于 2020-12-13 03:06:36
问题 I have a table in which I have to set background color when the cell in header and cell in row appear as pair in a certain list in data source. For example: column : "AUD, USD" row : "BRL, CZK" in the cell of column AUD and row is BRL I check if exists in the list in datasource "AUD-BRL" and if so I need to color in a green Now, I thought to do it in this way: columns and rows will be in lists. I go over both lists and then color in those indexes the cell. So that I will have one function for

Color cell according to condition

瘦欲@ 提交于 2020-12-13 02:59:26
问题 I have a table in which I have to set background color when the cell in header and cell in row appear as pair in a certain list in data source. For example: column : "AUD, USD" row : "BRL, CZK" in the cell of column AUD and row is BRL I check if exists in the list in datasource "AUD-BRL" and if so I need to color in a green Now, I thought to do it in this way: columns and rows will be in lists. I go over both lists and then color in those indexes the cell. So that I will have one function for

BIRT 中根据参数实现动态日期分组

邮差的信 提交于 2020-08-13 04:03:39
BIRT一般擅长处理规则一致的数据,若条件不一致的动态运算在报表中是很难实现的。常规办法是创建scripted data sources, 在该脚本源上自行处理业务逻辑把数据准备好,然后直接传给BIRT展现。但SQL或scripted data sources的方式,代码写起来非常麻烦,而且工作量很大。 比如要处理这么个场景:按照开始日期、结束日期统计一段时间内订单,但要根据起止日期的跨度长短实现按天、按周、按月、按年动态分组显示结果。查询流程如下图所示: 建议使用集算器,其丰富的集合运算可以方便地完成这类计算和逻辑判断,比Java写的代码要短,比存储过程写起来更简单,比如类似的计算在集算器里可以这样写: A B 1 =[] 2 =demo.query@x("select ORDERID,ORDERDATE,ORDERAMOUNT from ORDERS where ORDERDATE>=? and ORDERDATE<=?",startDate,endDate) 3 =interval(startDate,endDate) 4 if A3>365 >A1=startDate|A3.(elapse@y(startDate,~)) 5 else if A3>30 >A1=startDate|A3.(elapse@m(startDate,~)) 6 else if A3>15 >A1

深入浅出FE(十一)报表系统调研2020.6.7

故事扮演 提交于 2020-08-08 05:22:28
报表系统开发初探 2020.6.7 总体思路 1、自研 使用web端可拖拽特性直接生成线上报表,优点是自定义样式,缺点是维护和开发工作量较大。 2、开源系统二次开发 (1)基于BIRT报表或者iReport + JasperReports组合开发。优点是开发和操作较简单,缺点是不支持复杂报表和权限控制,维护性较差。 (2)基于Airbnb 的 Superset,Redash,Metabase等框架做二次开发。优点是界面设计友好,缺点是扩展性较差。 3、付费 如帆软和思迈特报表系统,优点是支持丰富的业务场景复杂报表,维护和开发成本较低。 一、自研 二、开源系统二次开发 (一)java报表工具 1、 BIRT报表 BIRT是一个Eclipse-based开源报表系统。 优点: (1)开发和操作简单。 (2)能够很方便的将很多数据混合在一个表格中。 缺点: (1)BIRT没有权限方面的辅助功能,需要自己写实现语句实现权限控制。 (2)BIRT的报表设计界面是传统的条带式界面,在设计报表样式,需要的行和列需要画出;对表头比较复杂的中国式报表来说,各种行列对齐也比较复杂; (3)不支持excel的行列无限扩展,表现之一是不支持XLS,这对习惯了excel的用户不友好。 (4)没有表单功能,不能对数据做筛选。 (5)没有移动端平台支持。 2、 iReport +

BIRT 异构跨库的动态关联查询怎么做

别说谁变了你拦得住时间么 提交于 2020-08-06 13:33:53
BIRT自带的Data Sources Join以及用ETL转化为同库等方案都难以解决此类问题。具体可以通过如下示例讨论: 交易明细数据(trade表)存储于生产系统的数据库DB2中,另外一部分业务数据(network表、account表)存储于业务系统的Mysql中,它们其中的关联关系如下图所示: 所谓“动态关联”,是指用户在前台界面输入参数,报表通过参数来决定trade和哪张表做关联,并在报表中显示关联后的数据,实际运算中可能还要进行数据过滤和汇总。查询流程如下图所示: 比如查询场景一:报表根据传入参数,能动态地将trade中的outAccount字段和account中的accountNo字段关联,最后查询结果显示trade中的所有字段以及account的name,gender,city等字段。 解决此类问题的常见方案与不足,分析如下: 1、BIRT Data Sources Join的问题在于要求表名和字段名是已知、确定的,但这类报表都是通过参数来动态关联的,因此无法实现。 2、可以用ETL把生产库的数据抽取到业务库,这样跨库的问题就转化为同库了。这个方案思路简单但实施起来细节上有很多难点。首先是实时查询:为了实时查询数据,需要在生产库使用触发器之类的功能来检测数据的实时变化,并将数据推送到业务库,但生产库不能轻易改动,因此实时查询就无法实现。非实时查询也难以办到

OpenReports操作指南

佐手、 提交于 2020-08-05 04:54:41
  最近要玩OpenReports,但在网上找了一圈,能用的资料少得可怜,所以把最近使用下来,积累的一些技巧记录下来(有部分整合了网上的资源)。 备注:以下操作说明基于已做汉化的项目(汉化方案请参考:http://www.cnblogs.com/shindo/articles/4958767.html) 1 简介   OpenReports 是一个灵活、强大和易于使用的开源web 报表制作工具。OpenReports 提供的基于浏览器,参数驱动,动态生成报表和灵活的报表预定的能力。OpenReports支持各种各样的开放来源报表引擎,包括JasperReports、JFreeReport、JXLS和Eclipse BIRT,为制作各种各样的报表需求提供支持。   OpenReports也支持查询报表和图形报表,容易创造基于SQL语句的报表而不必要求报表已预定义。   ·OpenReports提供一个基于web的报表生成和管理界面,具有以下特点:   ·支持各种各样的导出格式,包括PDF、HTML、CSV、XLS、RTF和图象。   ·通过web界面进行用户、分类、报表、图、参数和数据来源进行管理。   ·灵活的安排能力包括每日,每周和月度选择和多重接收。   ·OpenReports的报表参数可以支持:日期、文本、表单、查询和布尔参数。   ·对报告

好用的报表工具有哪些?

大憨熊 提交于 2020-07-29 10:46:43
报表工具 :是帮助用户用来展现自己输入数据,更多时候是将数据库中的数据,以客户想要的方式展现出来。目前市面上那么多报表工具,哪款比较好用呢,怎么选择? 1.BIRT报表 BIRT是Eclipse-based开源报表系统,主要基bai于Java和J2EE的Web应用du程序中。 BIRT主要包括两部分:基于Eclipse的报zhi表设计和可以添加到您的应用程序服务中的运行期组件。 BIRT同时还提供图形报表引擎。 2.JasperReports 最流行和最常用的开源报告工具通常与ireport一起使用。 JasperReports可以在Java环境中创建报告,并支持PDF,HTML,XLS,CSV和XML文件输出格式。 3. Smartbi 企业报表平台Smartbi Insight 以中国式报表、多维度分析、可视化仪表盘为核心,满足各种报表需求,以“真Excel”为特色,将Office Excel和WPS表格作为企业级WEB报表设计器,深度整合Excel的现有能力,拥有丰富的报表展现样式,包括清单报表、交叉报表、分组报表、多源分片报表、分块报表、表单报表、图形报表、回写报表等。同时,可借助Excel图形和ECharts图形实现数据可视化,支持交互式控件设计。 4.ActiveReports ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 /

企业构建大数据分析体系的4个层级

微笑、不失礼 提交于 2020-05-01 21:49:29
关于企业的大数据体系构建,可以分为4个层级,每个层级之间可以是递进的关系,虽然业务主导不同,但构建思路相通。 下面这张图,是本文的精华概括,接下来将一一展开与大家探讨。 一、数据基础平台 基础的数据平台建设工作,包含基础数据平台的建设,数据的规范,数据仓库的建立、数据质量,统一业务口径等等。 很多公司的数据无法有效利用,一来是数据散落在各个部门产品的服务器,各个业务系统的数据没有打通;二来是缺乏统一的数据规范,业务系统数据按照各自的口径和理解习惯上报,没有标准化的SDK和上报协议,难以构建高质量的数据仓库。 大数据平台架构的搭建并不是什么高大上的技术活,整个平台价值的体现,其实需要公司各个部门的配合,是一个相互依存的关系。例如关键数据指标体系的建立,需要从各个部门业务指标进行提炼,并得到业务部门认可。常见的关键指标,比如营销业务新增用户,有效新增用户,活跃转化率,累计留存数,渠道效果等。比如销售部门,日销售额、月销售额、回款占比等等。 二、数据报表与可视化 在第一层级中,进行数据指标体系规范,统一定义,统一维度区分,就可以很方便的进行标准化可配置数据报表设计,直观的可视化输出设计,包括财务、销售、供应链等多种数据类别。常见的数据报表工具有帆软FineReport、birt、水晶报表,小规模也可以用Excel来替代,但需要一定的开发量和使用水平。企业的报表通常可分为基础查询类报表

集算器技术应用汇总

Deadly 提交于 2020-04-09 18:52:10
更新于 20191216 降费提速 A. 高性能在线计算 B. 高性能离线跑批 C. 高性能多维分析 省时提效 D. 报表数据源 E. Java 计算 F. 数据整理 G. 中台应用 H. 数据微服务 I. 边缘计算 舍我其谁 J. 跨库计算 K. 多样数据源 L. 算法外置 M. 临时计算 A. 高性能在线计算 【方案说明】海量数据下的高并发查询、多维分析、自助分析等在线应用,需要及时响应才能到达极速体验。传统经验是扩充数据库节点,摆放前置数据库或 ES 服务,采用这些方法将会承担昂贵的软硬件成本,承担前置数据库因数据不全无法胜任全量查询或 ES 无法关联查询的风险。集算器将数据冷热分离、按列压缩存储热数据,可编程路由结合 SPL 高效算法,只需少量硬件,就能实现各种关联和复杂条件的快速查询。 【技术案例】 1. 海量账户大并发实时查询解决方案 2. 产权交易所统一数据集市案例 3. 银行业自助分析前置服务器方案 4. 实时报表 T+0 的实现方案 5. SAP 系统大数据量资产负债表的性能优化案例 6. 生产制造业库龄计算案例 【代码示例】 1. 用计算路由的方法优化 BI 后台性能 2. 超大数据下大批量随机键值的查询优化方案 3. SPL 组表进一步优化 JOIN 性能 4. 批量随机键值查询测试 5. 漏斗转换计算 6. 集算器组表实现轻量级全文检索服务 New!