• 博客(14)
  • 收藏
  • 关注

原创 10 行代码提取复杂 Excel 数据

【摘要】  把 Excel 文件导入关系数据库是数据分析业务中经常要做的事情,但许多 Excel 文件的格式并不规整,需要事先将其中的数据结构化后再用 SQL 语句写入数据库。而一般情况下,结构化的工作量会比较大,而且很难通用,每次都要针对文件格式进行分析后再进行开发。  集算器的 SPL 语言是一款高效、灵活的工具,它能够轻松读取 excel 数据,然后结构化成“序表”后导入数据库。使用 S...

2018-11-30 19:25:02 1954

原创 用简单程序协助MySQL实现窗口函数

窗口函数是 SQL2003 标准才开始有的一系列 SQL 函数,用于应付一些复杂运算是比较方便。但是普遍使用的 MySQL 数据库对窗口函数支持得却很不好,直到最近的版本才开始有部分支持,这当然就让 MySQL 程序员很郁闷了。实际操作中,我们可以在 MySQL 里用 SQL 拼出窗口函数功能,但是需要使用用户变量以及多个 SELECT 表达式从左到右依次计算的隐含规则。下面我们来看两个例子(...

2018-11-20 16:23:43 411

原创 如何用外部程序优化SQL语句中的IN和EXISTS

数据结构IN 和 EXISTS 是 SQL 中常见的复杂条件,在将 SQL(存储过程)转换成库外计算获取高性能时也会面对这些问题。本文将以 TPC-H 定义的模型为基础,介绍如何用集算器的语法实现 IN、EXISTS 并做优化。TPC-H 是 TPC 事务处理性能委员会制定的用于 OLAP 数据库管理系统的测试标准,模拟真实商业应用环境,以评估商业分析中决策支持系统的性能。TPC-H 模型...

2018-11-20 16:05:25 374

原创 自动导出 Excel 的利器

有时我们需要用程序来自动生成 Excel 文件,但 Excel 本身带的 VBA 并不好用,而集算器作为数据处理工具实现这个需求就会方便很多。本文将介绍如何用集算器生成 Excel 文件,而集算器本身强大的数据计算能力不是本文重点,因此文中只是简单地用文本作为数据源举例,实际应用中可能会从各种各样的数据源中取数,再经过一系列运算得到需要导出的数据。  本文中用到的函数请参看集算器文档《函数参考》...

2018-11-20 15:55:16 734 1

原创 给一句 SQL 就能做多维分析

【摘要】《把 Excel 透视表搬到 WEB 上》我们以 Excel 文件数据集为例,介绍了如何把 Excel 的数据透视表嵌入到俺的应用程序中。爱学习的同学会问了,Excel 数据透视表可以使用 Excel 里取到的任何数据,比如数据库取数,你们能直接从数据库取数做分析吗?Yes,I Can!俺的程序支持对任何数据库做 SQL 数据集多维分析,只需先把数据源配置好,然后程序猿啪啪几下敲下需要...

2018-11-20 15:45:59 166

原创 实现报表的可控缓存

【摘要】使用缓存可以提升报表性能是不争的事实,一般高端报表工具都会提供报表缓存功能,可将整个报表计算结果缓存在文件系统中,以便用户下次访问相同参数的报表时可以快速读取缓存结果进行展现。但有些情况下报表开发人员还希望对缓存的内容进行更准确和灵活的控制,比如缓存的不是整个报表结果而是其中一部分、缓存内容可被其它报表或程序复用,以及对不同的缓存结果设置不同的超时时间,从而应对数据量和实时性方面的不同...

2018-11-20 15:33:21 221

原创 轻量级可嵌入多维分析后台

问题的提出多维分析(BI)系统后台数据源通常有三种选择。一、普通数据库;二、专业数据仓库;三、BI 系统自带的数据源。但是,这三种选择都有各自的问题。普通数据库一般都是行式存储,很难获得多维分析希望的高性能,只适用较小数据量。专业数据仓库有不少是列式存储的,性能问题不大,但是价格都比较昂贵,建设、扩展和维护成本也都非常高。BI 系统自带的数据源都比较封闭,只能为自家的 BI 前端提供支持,...

2018-11-12 12:14:51 170

原创 用计算路由的方法优化BI后台性能

问题的提出BI 系统的常见结构是:前端是 BI 应用,负责多维分析的用户操作和结果呈现;后台是数据库 / 数据仓库,负责数据计算和存储。前端和后台之间用 SQL 作为接口。实际应用中,常常出现后台数据仓库压力过重的问题。问题表现为前端响应时间过长,数据仓库反应速度变慢。常见的解决方案是在数据仓库和应用之间再增加一个前置数据库。但是前置数据库和后台数据仓库之间很难实现数据的路由和混合计算...

2018-11-12 11:57:28 303

原创 如何优化多数据集关联报表

多数据集关联报表是很常见的报表形式,它允许开发者分别从不同的来源(表或数据库)分别准备数据形成不同的数据集,在报表端(模板)通过表达式描述数据集间的关系完成关联。这样可以避免在数据准备时写过于复杂的 SQL/ 存储过程,降低维护难度。尤其当报表数据来源于多个数据库时,多数据集的优势更加明显。凡事都有两面性,多数据集为开发带来方便的同时却对性能造成了极大的影响。在报表端进行多数据集关联时要计算关...

2018-11-12 11:42:52 2541

原创 SQL 难点解决:序列生成

1、    生成连续整数序列MySQL8:  with recursive t(n) as (select 1union allselect n+1 from t where n<7)select * from t; Oracle:select level nfrom dual connect by level<=7; 集算器 SPL: ...

2018-11-12 11:19:59 332

原创 10 行代码解决漏斗转换计算之性能优化

大话数据计算性能优化 大数据分析的性能优化,说道底,就优化一个事情:针对确定的一个计算任务(数据确定,结果确定),以最经济的方案得到结果。这个最经济的方案主要考量三个成本:时间成本、硬件成本、软件成本。时间成本:根据计算任务的特点,能容忍的最长时间各不相同。那些 T+0 的计算任务,实时性要求就比较高,T+1 再算出结果就失去了意义。 硬件成本:可以使用的硬件资源,对一个公司来说...

2018-11-12 10:48:29 181

原创 基于文件系统实现可追加的数据集市

一 问题背景 绝大多数的应用系统中,一开始数据的存储和计算基本都是由数据库来完成的,同时服务于业务交易和报表查询;不过在经过几年信息化建设和数据积累后,常常都会遇到数据库压力变大,从而导致性能瓶颈的问题。究其原因,往往发现针对历史数据查询的报表在其中占了很大比重。进一步分析会发现,这类报表通常都有如下特征:1、数据变化小:供查询的历史数据几乎不再发生变化;2、数据量大:数据量随...

2018-11-09 18:05:23 201

原创 学会这些“套路”,excel 合并汇总都不是事

1.  问题背景 在日常工作中我们经常遇到具有相同表头的 Excel 文件,需要将它们合并到同一个工作表中再进行分析。当文件比较多时,手工合并表格通常是件很麻烦的事情,而如果数据量很大,用 Excel 自带的 VBA 来处理也会经常卡死。今天我就来分享一个专业的外部数据工具——集算器,掌握了集算器处理 Excel 多表合并的方法,就不用再编写复杂且低效的 VBA 代码了,简单的几行 SPL...

2018-11-09 17:52:12 863

原创 轻量级内存计算引擎

内存计算指数据事先存储于内存,各步骤中间结果不落硬盘的计算方式,适合性能要求较高,并发较大的情况。 HANA、TimesTen等内存数据库可实现内存计算,但这类产品价格昂贵结构复杂实施困难,总体拥有成本较高。本文介绍的集算器同样可实现内存计算,而且结构简单实施方便,是一种轻量级内存计算引擎。下面就来介绍一下集算器实现内存计算的一般过程。一、        启动服务器集算器有两种...

2018-11-09 17:30:13 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除