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

原创 多层 JSON 转换成 CSV

【问题】This is how my json looks like:{“data” :[{ “f1” : “v1”,“f2” : “v2”,“group” : [{ “f3” : “x1”,“f4” : “y1”,“f5” : “z1”},{ “f3” : “x1”,...

2021-09-29 10:32:06 438

原创 如何找到下面满足条件的第一个格子的行号

例题描述Excel文件中有一列数值,需要找出数字10出现以后第一次出现单数时与它之间的间隔行数。如下图所示:实现步骤1、 运行集算器2、 编写脚本:把代码列出来看得清楚点: A 1 =clipboard().split("\n").(int(~)) 2 =A1.(null) 3 =A1.run(if(~==10,(x=~[1:].pselect(~%2==1),A2(#+x)=x))) 4 =clipboard(A2.ex..

2021-09-29 10:28:24 227

原创 远程服务使用说明

概述很多时候用户不仅需要操作本地的报表模板,还要操作远程服务器上的报表模板,比如修改远程服务器的报表或者将本地模板上传至远程服务器等。为了满足这种需求,润乾报表提供了远程服务接口。远程服务器相当于客户端与服务器之间的一个中间层,通过与服务器建立连接,可实现对不同用户权限的控制、查看和保存服务器上的文件、上传新文件到服务器等。远程服务菜单是通过用户自定义类,实现润乾报表提供的 com.raqsoft.ide.custom.Server 接口添加的。接口说明可参考自定义远程服务小节。菜单介绍

2021-09-28 10:12:51 231

原创 Excel 按组内序号取数

Excel formulae for max or min of multiple occurrences of vlookuphttps://stackoverflow.com/questions/64206037/excel-formulae-for-max-or-min-of-multiple-occurrences-of-vlookup【原帖】I need to do a complicated vlookup/maxif type of selection. The data I ha

2021-09-28 10:10:20 230

原创 在相邻区间内查找和筛选

相邻区间是指某个成员周围的其它成员构成的区间。举例例 1有一个数字序列,想要找出数字10以后出现的第一个奇数。编写SPL脚本: A 1 [10,2,4,3,10,3,8,7,10,8,3,10,6,4,7] 2 =A1.(if(~==10,~[1:].select@1(~%2==1))) 3 =A2.select(~) A1 数字序列A2 循环A1的每个数,计算:如果当前数是10,则从它后面的数中选出第1个奇数。其中~[1:]表示当...

2021-09-28 10:06:29 75

原创 润乾报表 dashboard 分析

在《润乾报表多维分析功能漫游》一文中我们已经见识了润乾报表分析控件的妙处:可视化的拖拽模式,灵活的计算方式,脱离敲打复杂多变的查询语句,只需要动动鼠标就可以获取所需要的数据。除了多维分析外,润乾报表还有dashboard分析界面那就是仪表盘,简称DBD,即大屏和分析控件的结合。 DBD可以通过图表、图形等视觉元素,将多个来源的数据中所蕴含的信息的趋势、异常和模式展现出来。接下来让我们看看当大屏与分析控件结...

2021-09-27 09:44:34 245

原创 用脚本语言对 Excel 分组汇总

【原帖】https://stackoverflow.com/questions/64182673/excel-find-duplicates-in-one-column-then-sum-quantities-into-another-columnDATARESULTA1A11A1B7A9C5B2D4B2E8B3C5D4E7E1...

2021-09-27 09:40:56 232

原创 使用相邻值查找和筛选

举例文件book1.xlsx中部分数据如下图所示:要求根据Value2列提取数据,每当数据从负值变化为0的时候,就提取这个0所在的一行。编写SPL脚本: A 1 =T("e:/work/book1.xlsx") 2 =A1.select(Value2==0 && Value2[-1]<0) A1 读入文件book1.xlsx中数据A2 选出Value2等于0并且上一行Value2小于0的记录,Value2[-1]表示上一行的...

2021-09-27 09:37:56 126

原创 简易BI的实现过程

2021-09-26 11:43:35 240

原创 动态解析 csv 里含有格名变量的表达式

【原帖】I have a CSV file with formulae, like this:1;;2.74;0=A1+C1;=A2;=C1What’s the best way to convert formulae into numbers, as follows1;;2.74;03.74;3.74;2.74?The only way I know is to read it withcsv.readeras a list of lists and then lo..

2021-09-26 11:40:37 72

原创 选出前 N 名或后 N 名

举例有人员销售业绩表文件book1.xlsx中部分数据如下图所示:现在要按总销售业绩从大到小排序,找出排在前10名人员及其总业绩。编写SPL脚本: A 1 =T("E:/work/book1.xlsx") 2 =A1.groups(Name;sum(Sales):Sales) 3 =A2.top(-10,Sales) 4 =A2.top(-10;Sales) A1 读取book1.xlsx文件中的数据A2 按Name分组并统计...

2021-09-26 11:36:44 68

原创 轻量级高性能多维分析套件

什么是轻量级?抛开技术术语,从效果上看就是为了实现操作目的,使用更轻便、更省时的方法;那么什么是高性能呢?最直接的说法就是比常用方法更加高效、更快。下面就来介绍润乾提供的这一套轻量级、高性能的多维分析套件。轻量级的准确含义,是相对于重量级框架而言的一种程序设计模式。轻量级的优点在于对容器没有依赖性,易于配置,更加通用,启动时间较短,并能充分减少开发复杂度;而高性能,则是指相比于常用方法而言,获取期望结果更加快速、准确的实现方法。具体到润乾报表,这里将给大家介绍通过多维分析页面对简单SQL进行查询。

2021-09-24 11:07:46 132

原创 大Excel 文件固定条数分组汇总

【原帖】i have a Dataset with 15 Minute Timestamps and ValuesI need it hourly like this (summed values all 4 rows):How to do this?My Dataset has 127000 rows…3 Years, so manually is not an option.Thanks for your help【回答】这个问题的特殊性在于,要按固定条数分组汇总,而

2021-09-24 11:04:41 234

原创 如何统计哪个分类下个数最多以及是多少

例题描述和简单分析有 Excel 文件 book1.xlsx,数据如下所示:数据特征为:每行的日期并不连续,从远到近做红绿字记录,会跨年一直记录下去;每个日期只会对应一个红字或绿字。现在需要统计绿字最多月出现次数(找到并算出单月最多次数),填到右侧的日期、次数下,结果如下:解法及简要说明在集算器中编写脚本 p1.dfx,如下所示: A 1 2020/3/16 1.041 … 2 =A1.split@n("\t").select(~(3)...

2021-09-24 11:02:04 104

原创 自助关联分析方案

2021-09-23 11:20:11 102

原创 在 Excel 中查询每个区间并排序

【原帖】I am stumped with the following problem and not sure how to accomplish it in excel. Here is an example of the data:A B1 Date Stock_Return2 Jan-95 -5.2%3 Feb-95 2.1%4 Mar-95 3.7%5 Apr-95 6.9%6 Ma...

2021-09-23 11:17:21 410

原创 找到最大最小值

1. 找位置有材料占比Excel文件book1.xlsx,如下图所示:文件中每两列为一组,奇数列是材料名,偶数列是材料占比,现在需要找出每一行中占比最大的材料名。编写SPL脚本: A 1 =file("e:/work/book1.xlsx").xlsimport@w() 2 =A1.to(2,).(~.step(2,1)(~.step(2,2).pmax())) A1 读入文件book1.xlsx中数据,选项@w表示读成序列的序列A2 循环...

2021-09-23 11:13:53 94

原创 通用查询控件使用方法报表&BI

2021-09-22 10:40:24 95

原创 Java 中如何传递数组参数给 SQL

Java 传递数组参数给 SQL 进行查询时需要做一些专门处理。比如 SQL 语句 select * from EMP where EID in(?)中,如果要把数组 [1,2,4] 作为参数传入,需要把 SQL 写成 select * from EMP where EID in(?, ?, ?)的形式,? 的个数和参数数组的长度相同,参数数组长度变化时就要再改写 SQL,比较麻烦。如果是字符串或日期时间类,则还要再拼上引号、或做数据类型转换等,更缺乏灵活性,通用性也不强。借助集算器可以很方便地完成这件事

2021-09-22 10:38:02 1703

原创 将查询结果填充到另一工作表

例题描述和简单分析某excel文件中,sheet2是数据待查片区,其中A列是起始时间,B列是截至时间,且每行的时间段均不重复。部分数据如下: A B C D E F 1 this is a title 2 date period 2wk HH WPH WCP WPL 3 2018/7/10 2018/7/14 0.7839 0.7729 0.772 0.7655 4 20

2021-09-22 10:35:10 132

原创 自助查询解决之道

如果你曾经出国旅游,尤其是去欧洲自由行,有没有在餐馆点菜的惨痛经历?(当然金拱门、K 记不算……),面对菜单上一个个似是而非的单词,有没有忧桑? 有没有惆怅?有没有很……呃,饥饿?同样,在做前端业务查询时,如果你不清楚 SQL 这种“点菜”的语言,那么怎么去找那些字段、设那些条件?是不是也有同样的忧桑、惆怅……和饥饿感?不过,现在不一样了,因为我们有了润乾报表 V2018 查询控件!TA 就像自助餐厅里琳琅满目的锅碗瓢盆,把深藏在数据库(后厨?)里的数据清清楚楚地呈现在你面前,任由你挑选组合,随时随

2021-09-18 11:11:17 195

原创 如何写出能适应不同数据库的 SQL 查询

无论是应用开发还是数据库管理,在不同类型数据库,实现其同样功能的 SQL 查询,都会遇到 SQL 写法或多或少不一样的问题。这与每一个数据库都有自己所特有的一些函数和功能有关。不同类型的数据库,虽然 SQL 语法大体相似,但是它们各自的函数或符号却有些不同,有的甚至也不通用。比如将字符串 "2020-02-05" 转换成日期,标准 SQL 为 select DATE('2020-02-05') from USER, 不同数据库有不同的写法:ORACLE:select TO_DATE('2020-02-0

2021-09-18 11:08:22 588

原创 找到第一个和最后一个

1. 找位置文件book1.xlsx数据如下图所示,第1行是列名,其他行有些格为空,有些格有数据,有数据的格一定是连续的。现在要在A列和B列分别算出连续有数据的格的起始列的列名,以及终止列的列名,如下图所示:编写SPL脚本: A 1 =file("E:/work/book1.xlsx").xlsimport@w() 2 =A1.to(2,).run(~(1)=A1(1)(~.pselect(~)),~(2)=A1(1)(~.pselect@z(~)))..

2021-09-18 11:02:40 95

原创 怎样在应用中集成自助报表功能

2021-09-17 10:39:39 89

原创 Java中如何把csv加载进数据库

Java应用中,有时需要把CSV中的数据加载到数据库。数据库一般有自带的工具,但大都有专门的界面,很难成为可被Java调用的例程。借助集算器可以很方便地完成这件事。我们以“销售数据的csv文件”加载到Mysql数据库的销售表(sales)为例。销售数据的csv文件(sales.csv),部分数据如下:ORDERID CLIENT SELLERID AMOUNT ORDERDATE 1 LIHD 11 9893 2020/12/7 2

2021-09-17 10:36:56 1964

原创 使用位置筛选

举例Excel文件book1.xlsx中部分数据如下图所示:现在想要选出表中的偶数行,如下图所示:编写脚本: A 1 =T("E:/work/book1.xlsx") 2 =A1.select(#%2==0) 3 =T("E:/work/book2.xlsx",A2) A1 读取book1.xlsx数据为序表A2 选出A1中的偶数行数据,#代表select循环时当前行的行号A3 把A2中的序表保存到book2.xlsx...

2021-09-17 10:32:44 72

原创 数据分析的权限控制

哈哈哈哈,打不过我吧,没有办法我就是这么强大,哈哈哈哈,追不上我吧,没有办法被我打败啦,哈哈哈哈,看不见我吧,分析权限根本没在怕!所谓数据分析的权限控制,就是指针对不同的用户分别配置不同的访问规则,使他们在登录后看到的数据不一样。有些东西不是你想看,想看就能看的,想看还得问问俺老孙答不答应…首先我们来捋捋分析的权限是如何体现在数据中的。一、分析中的用户权限在很多应用系统中,经常有两个典型的用户,root 和 guest。对于数据分析来说,root 用户权限最大,可以查询全部表的信息; gue

2021-09-16 11:39:50 354

原创 MongoDB 记录的字段不同时如何合并求和

MongoDB数据库采用bson的格式存储,存储的内容是文档型的。每一条记录就是一个文档,每个文档中的键不一定相同,键的个数也不一定相等,对这样嵌套的文档结构关系,进行分组统计就比较麻烦。比如有以下数据集{"name": "test","num": {"text": 1,"face": 2}},{"name": "test","num": {"image": 3,"face": 4}},{"name": "test","num": {"text":5,"image": 6, "book": 12}},

2021-09-16 11:34:00 440

原创 多条件筛选

举例有 Excel 文件“emp.xlsx”,是雇员表,部分数据如下所示:可能对姓名(NAME)、生日(BIRTHDAY)、部门(DEPT),进行多条件筛选,例如,找出姓名是 Ryan,生日大于 1980-01-01 的结果,结果如下:编写 SPL 脚本: A 1 =if(name!="" && name,"NAME==name",true) 2 =if(dept!="" && dept,"DEPT==dept",tr..

2021-09-16 11:31:59 374

原创 巧用模板变换多维分析表格样式

自定义表格样式多维分析展现报表时,润乾报表提供了一套默认的表格样式,统一的表格样式可以使业务人员减少报表美化的工作量。然而默认的样式不可能迎合所有用户的审美,为此润乾提供了自定义表格样式的功能,供用户实现个性化的需求,下面小编就来教你如何改变默认表格的样式。先来看下默认的表格样式,下面是一个统计雇员完成订单情况的报表:多维分析表格的样式实际上是通过一个模板报表来控制的,我们先来看下这个模板报表的内容,在设计器中打开 [安装根目录]\report\web\webapps\demo\WEB-IN

2021-09-15 11:37:26 238

原创 MongoDB 如何通过数组字段进行关联查找

从关联表记录数组中查找符合条件的数据, 用给定的字段组合成新表。如有两集合 users, workouts,数组字段 users.WorkId 与 workouts._id 有关联。users _id Name WorkId 1000 xxx [2,4,6] 1002 yyy [1,3,5] workouts _id Date Book 1 1/1/2001 Othello 2 2/2/2

2021-09-15 11:35:28 516

原创 查找值的位置后再用位置取值

例题描述有Excel文件book1.xlsx中有下图所示的3个片区数据(不同颜色标明)。现在要算出1-12对应的一列数据,计算无则:在3片区中依次查找1-12,找到后在片区1对应位置取数,如果是0则取片区2同位置的数,如果是1则取F+当前查找数。结果如下图G、H列所示:此题涉及序列成员定位、取序列指定位置成员、序表取列值以及剪贴板使用。实现步骤1、 编写脚本: A 1 =clipboard().import() 2 =A1.(_1)|A1.(..

2021-09-15 11:31:02 106

原创 程序数据集上的多维分析

小编我本着先客户之忧而忧的服务宗旨,思前想后还是觉得之前的《把 Excel 透视表搬到 WEB 上》和《给一句 SQL 就能做多维分析》对多维分析的介绍不太够,所以今天特地再来唠唠如何对程序数据集做多维分析。访问 JavaAPIAPI是应用程序编程接口,程序开放API就是开放接口,开放后接口返回的程序数据就可以被其他程序调用了。问题来了,在俺们多维分析中怎样才能对API接口返回的程序数据做分析呢?简单,其实是分分钟搞定的事儿!步骤一:最最重要的前提,要麻烦程序猿自定义类,把要返回

2021-09-14 11:24:09 130

原创 MongoDB 怎样对多列嵌套结构做聚合

针对多列带有嵌套结构的数据进行聚合查询。下面要统计每条记录的 income,output 的数量和。_id income output 1 {"cpu":1000, "mem":500, "mouse":"100"} {"cpu":1000, "mem":600 , "mouse":"120"} 2 {"cpu":2000, "mem":1000, "mouse":50, "mainboard:500 } {"cpu...

2021-09-14 11:21:14 416

原创 多个工作表按新分类重新拆分并按指定顺序对齐

例题描述Excel文件1.xlsx中有下图所示的数据,每个区域的数据构成一个Sheet,Sheet编号为a-z。现在想要把数据变换成如下图的形式,按系统分组,每个系统数据构成一个Sheet,并且没有数据的区域也要列出来。此题涉及读取Excell中多Sheet数据、数据分组、数据导出到Excel的多个Sheet、数据补齐等知识。实现步骤1、 编写脚本: A B 1 =file("E:/work/1.xlsx").xlsopen() 2..

2021-09-14 11:16:31 164

原创 当多维分析碰到预定义语义

在《给一句 SQL 就能做多维分析》中我们介绍了润乾报表可以基于一句 SQL 来做数据库数据分析,今天我们来继续说道说道,看看下面这个例子:这个分析数据集来自回款单,由回款单 ID,回款日期,金额,销售 ID 四个字段组成。对应的 sql 为:select 回款单 ID, 回款日期, 金额, 销售 ID from 回款单下图左边的报表就是按照销售 ID 这个维度分组,对回款金额进行汇总分析的结果:多维分析就是这么简单,写一条 sql 语句,拖拖拽拽就出炉了。像上面这个例子,如果列名是英文

2021-09-13 13:36:27 84

原创 MongoDB 如何查询数组元素的下标

MongoDB通过 $slice 可以按照下标查出内嵌数组的元素,但是不能通过元素的值来查询下标。例如:数组中的元素是存放不同的颜色名称,MongoDB 可以根据数组下标来找颜色,但是不能通过颜色查找对应的下标。比如:MongoDB 的集合 colors 中,保存了 name 和 color(数组), 数据如下:colors _id name color 1 page [red,green,blue,white,mauve,black] 2 car

2021-09-13 13:31:24 786

原创 如何把 Excel 数据按分类拆分为多个

例题描述蔬果明细表fruits.xlsx文件中有蔬果总表,数据如下图所示:现需要按类别对蔬果进行拆分后保存到新的sheet里,类别名称(删除类别号后)即为sheet名,如下图所示:实现步骤1、 运行集算器编写脚本:把代码列出来看得清楚点: A B 1 =file("E:/excel/fruits.xlsx") 2 =A1.xlsimport@t(;,2) 3 =A2.group(类别) 4 .

2021-09-13 13:25:07 939

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

在《给一句 SQL 就能做多维分析》中我们介绍了润乾报表可以基于一句 SQL 来做数据库数据分析,今天我们来继续说道说道,看看下面这个例子:这个分析数据集来自回款单,由回款单 ID,回款日期,金额,销售 ID 四个字段组成。对应的 sql 为:select 回款单 ID, 回款日期, 金额, 销售 ID from 回款单下图左边的报表就是按照销售 ID 这个维度分组,对回款金额进行汇总分析的结果:多维分析就是这么简单,写一条 sql 语句,拖拖拽拽就出炉了。像上面这个例子,如果列名是英文

2021-09-10 10:10:25 305

原创 MongoDB 如何查找某数组字段与指定集合有交集的记录

从指定的数组中查找符合条件的记录,查找某一列数组型数据与指定的数组存在交集的数据。比如:所给课程的数组为[English, History, Math],从集合 students中查询至少选修其中一门课程的学生信息students _id name lesson 1.0 Mark [English,Chemical,Math,Physics] 2.0 Tom [Chinese,Chemical,Math,Biology] 3.0 Sc

2021-09-10 10:07:56 498

空空如也

空空如也

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

TA关注的人

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