建议WPS效仿QueryStorm,打造表格内置SQL IDE,引入DuckDB增强OLAP能力

各位WPS开发团队的小伙伴、社区的朋友们,大家好!

近期接触到Excel的QueryStorm插件,这款工具将SQL、C#、VB.NET现代编程能力深度融入表格,通过专业的智能IDE、开发与使用端分离的运行模式、灵活的自定义函数开发以及丰富的生态扩展,让Excel的复杂数据处理、自动化定制能力实现了质的提升,解决了专业用户在表格中做深度数据处理的痛点。而结合社区里大家的诸多反馈(WPS功能茶话会,日历福利带回家!,第二、四、五选项与之相关)——企业数据量持续增大让OLAP成为必然趋势、DuckDB开源生态成熟、数据库连接存在技术痛点、JS宏多源混算能力不足等,在此强烈建议WPS表格效仿QueryStorm的设计思路,打造专属的内置SQL IDE,同时深度融合DuckDB,强化OLAP分析能力,走出差异化的表格数据处理升级路线,以下是具体的建议和思考,也和大家一起探讨:

一、效仿QueryStorm,打造WPS专属的内置SQL IDE

QueryStorm(https://querystorm.com/)的核心价值,是让SQL这种通用高效的语言直接落地表格,无需复杂的间接操作,其打造的智能IDE还实现了代码补全、语法高亮、实时校验等专业能力,同时通过IDE+Runtime的分离模式,让开发成果能快速共享给普通用户。这一思路完全适配WPS的产品定位,建议WPS表格开发独立的内置SQL IDE,对标QueryStorm的核心能力并结合WPS用户需求优化,实现这些关键功能:

  1. 免配置的原生SQL交互:预置适配的驱动,让WPS表格可直接映射为虚拟数据源,工作表/指定区域作为SQL查询的表,支持标准SQL的查询、插入、更新、多表联查、窗口函数等,实现“编辑-执行-结果回写”的闭环,查询结果可实时预览并一键写入指定位置,如同QueryStorm实现Excel与虚拟数据源的无缝交互一般;

  1. 专业的IDE编辑体验:提供SQL语法高亮、关键词自动补全、实时语法校验、代码格式化等功能,兼顾专业用户的开发效率和新手的学习门槛,复刻QueryStorm智能IDE的便捷开发体验;

  1. 开发与使用端分离:参考QueryStorm的IDE+Runtime模式,开发端为数据工程师、分析师提供完整的SQL IDE和拓展能力,普通业务用户仅需轻量环境,即可直接使用他人开发的SQL查询模板、自定义分析功能,降低团队协作的成本;

  1. SQL模板的保存与共享:支持SQL查询模板的本地保存、云文档同步,还能在社区开放模板分享,让大家复用优质的数据分析脚本,延续QueryStorm丰富扩展生态的思路,让SQL能力在社区实现普惠。

相较于单纯优化现有数据工具,SQL作为全球通用的数据分析语言,财务、运营、数据分析师等群体均已掌握,学习成本远低于专属配置逻辑,能让专业用户快速上手,也能让WPS表格在复杂数据处理上形成核心竞争力。

建议 WPS 表格内置 SQL 编辑器

二、深度融合DuckDB,打造轻量高效的OLAP分析能力

企业数据规模扩大后OLAP是必然趋势,而DuckDB作为开源的高性能列式存储数据库,不仅轻量、适配嵌入式场景,还能完美支持OLAP分析,且其生态成熟度极高——前天其创始人还参与了阿里的数据库大会。建议WPS表格深度融合DuckDB,而非强行模拟微软的DAX(模拟该语言开发难度大,且其Vertipaq引擎复刻成本高),具体可落地这些点,同时解决QueryStorm未针对性优化的大数据OLAP痛点:

  1. 原生集成DuckDB引擎:将DuckDB作为WPS表格的内置OLAP引擎,利用其列式存储的优势,大幅提升大数据集的聚合、透视、多维度分析效率,解决现有表格处理大数据量卡顿的问题,契合企业级的OLAP分析需求;

  1. 打通DuckDB的多源数据读取能力:借助DuckDB原生支持CSV、Parquet、XLSX/ET、二进制文件的特性,让WPS表格可直接通过SQL/DuckDB接口读取各类格式文件,无需复杂的格式转换,从根源解决社区反馈的JS宏多源混算的文件读写痛点,也无需让用户通过复杂的ffi调用实现该能力;

  1. 优化跨数据库取数能力:利用DuckDB便捷对接MySQL、PostgreSQL、SQLite等主流数据库的特性,让WPS表格可直接通过SQL实现跨数据库的联合查询,无需额外的中间件,这一能力也将比QueryStorm的跨库数据迁移更贴合国内用户的数据库使用习惯。

WPS不支持OLAP透视表,与Microsoft 365的兼容性因此大大下降(即使不能兼容,WPS也可以打造自身的OLAP生态)

三、优化多端数据库连接与开发接口,降低使用门槛,适配Mac/Windows全平台

社区里很多朋友反馈了数据库连接的诸多痛点:在Mac里用ffi.LoadLibrary(libduckdb.dylib)一直出现问题,加载不了这个动态库,虽然Mac里SQLite倒是能用ffi.LoadLibrary实现连接;Windows端可以通过ODBC连接数据库,但是取数速度慢,还会牺牲DuckDB这类列存数据库的性能;普通小白用户无法完成基于动态库头部文件的C/C++代码编写,难以实现数据库对接。这也是打造SQL IDE时需要重点解决的问题,同时可借鉴QueryStorm便捷的多端数据交互设计,实现以下优化:

  1. 提供开箱即用的数据库接口:无需让用户编写C/C++代码、对接动态库头部文件,直接在SQL IDE/JS宏/PY脚本中提供DuckDB、SQLite、MySQL、PostgreSQL等主流数据库的原生接口,对标node duckdb的易用性,让小白也能一键连接;

  1. 优化Mac端的数据库适配:重点解决Mac端DuckDB的加载问题,实现Mac/Windows全平台的数据库连接一致性,让跨平台用户无需再为数据库对接闹心;

  1. 替代ODBC的高效取数方式:针对列式存储数据库(如DuckDB),放弃低效的ODBC连接,提供原生的直连接口,充分发挥其性能优势,避免取数时的性能损耗。

四、结合SQL IDE,完善JS宏/多维表的配套能力,解决核心使用痛点

社区里大家对JS宏和多维表的能力优化呼声极高,比如JS宏需要实现大型文本文件高效/并行读取、group/pivot/unpivot等结构化数据处理刚需,多维表需要SQL视图和OLAP复杂分析能力,这些痛点都能通过SQL IDE+DuckDB的组合来解决,同时可借鉴QueryStorm的自定义函数开发、智能工作簿构建能力,同步完善这些配套能力:

  1. 强化JS宏的结构化数据处理能力:基于DuckDB接口,为JS宏提供group、pivot、unpivot等刚需的结构化数据处理方法,同时实现大型文本文件的高效、并行读取,从底层解决社区反馈的多源混算核心问题;

  1. 为多维表添加SQL视图功能:让WPS多维表支持通过SQL语法灵活控制展示字段,结合DuckDB的OLAP能力,实现窗口函数、多维度钻取等复杂分析操作,满足社区用户提出的企业级多维分析需求;

  1. 完善SQL IDE的基础数据处理功能:补充行计数、大小写转换、字符修整、添加前后缀、合并列、数值计算(求和/极值/平均值/舍入等)等基础功能,解决目前社区反馈的部分数据处理案例无法完成的问题,让SQL IDE的能力更贴合日常工作需求。

  1. 引入Python脚本本地化功能,强化Python脚本的数据分析能力:鉴于数据分析能力并非JavaScript脚本语言之所长,WPS开发团队可以考虑引入像xlwings Lite(https://lite.xlwings.org/)这样的Python本地化功能,通过Python脚本对接SQLite、DuckDB等数据库。

五、避开微软生态壁垒,走WPS的差异化路线

相信社区里很多专业用户都有共识,微软的PQ/DAX是为其自身BI生态量身定制的“专属零件”,社区反馈显示PQ性能一般,模拟DAX的开发难度也极大,强行适配只会让WPS陷入生态跟随的被动,还会产生功能冗余、维护复杂、用户困惑等问题。而QueryStorm的成功也印证了,开放标准的技术组合才更贴合表格工具的普惠性SQL+DuckDB的组合正是这样的选择,其优势十分明显:

  • 对用户而言,可直接复用已掌握的SQL知识,无需重新学习专属语言,迁移成本极低,且能直接适配社区用户已有的数据分析技能体系;

  • 对WPS而言,无需构建复杂的专属引擎,依托开源的DuckDB即可快速实现OLAP和多源混算能力,同时打造SQL IDE形成差异化优势,这比单纯模仿微软更符合WPS“兼容与替代”的核心产品定位。

最后,也想和大家一起呼吁

当前企业数据量增大、OLAP成为刚需,而普通用户也需要更高效、低门槛的复杂数据处理方式,QueryStorm的成功验证了“表格+SQL IDE”的可行性,DuckDB的开源生态则为WPS强化OLAP能力提供了绝佳的契机,同时社区用户也提出了诸多贴合实际工作的痛点和优化建议,这些都为WPS表格的能力升级指明了方向。

希望WPS开发团队能关注到这个建议,将内置SQL IDE+DuckDB融合纳入产品升级规划,既解决社区用户的核心痛点,又能让WPS表格在数据处理能力上形成独有的竞争力,走出属于自己的升级路线。

北京
浏览 682
2
11
分享
11 +1
22
2 +1
全部评论 22
 
Loelan
至少python脚本先支持一下duckdb扩展库啊,现在想在多维表的py脚本中使用duckdb都不行
· 重庆
1
回复
 
思
自己实现了在WPS/Excel里面使用DuckDB/Python而且二者兼容的插件,在国内其实一般使用表格的都会把两个结合起来使用,但是二者在插件方面很少有兼容性插件,都是各搞各家的,例如pyxll只支持excel,excel的PY功能又需要订阅且只支持excel,wps的PY插件是运行在云上,PY生态受限于官方,使用起来也不方便,楼主提到的xlwings lite也使用过,但是不能离线使用(加载较慢),同时评论区提到的xliol配置较麻烦,使用起来体验感也不好(但不否认上面提到的工具在某些方便还是佼佼者)。我的插件是以侧边栏的形式实现,主要是兼容Excel/WPS,同时本地python/以及在线的都可以,减少传统Python和表格数据需要导入后分析,直接把Python以及DuckDB嵌入表格,就像内置原生的一样。不知道有没有感兴趣的?
· 内华达
1
回复
快乐小子新
你好厉害 建议你单独发个帖子进行介绍,肯定有不少人感兴趣的。这里来的人少,你这么问估计得不到回应。
· 广东省
1
回复
 
WPS反馈小助理小雅
WPS反馈小助理小雅

WPS社区反馈员

感谢您的详细建议,关于您的使用场景和使用诉求,您反馈的问题均已详情记录,这边会提交反馈给技术团队小伙伴进行评估优化,感谢您的理解与支持。
· 广东省
1
回复
 
Tam Kingsley
Tam Kingsley Lv.2 潜力创作者KVPWPS金话筒WPS寻令官WPS产品体验官

Lv.2潜力创作者

OLAP、SQL、DuckDB期待WPS补全
· 广东省
1
回复
 
jbian
这个反馈很中肯,感谢大佬关注 当前企业数据不是十几年前的小打小闹了,即使还没达到大数据的程度,也到了数据量大的情形了,结构化数据的多源混算就是一个刚需。目前的JS宏,虽然基础语法和数组方法比VBA方便很多,但毕竟还没达到结构化数据处理的水平,还算是比较底层的,几乎都是循环 、迭代、递归这些老三样。VBA40年没有更新,SQL有将近50年的历史了吧,甚至包括JS对结构化数据处理的描述能力是很有限的。我说的结构化处理,说的通俗一点就是能很方便地分组(group)、透视(pivot)、逆透视(unpivot)、或者更进一步,表之间的外键关联(join)等,这些都是数据处理非常常规的操作,我觉得WPS JS是不是可以原生增加一些此类函数,方便结构化数据的处理,而不用再去import第三方的lodash、ramda等。如果能解决DuckDB的原生直连,多源混算和结构化数据处理将会彻底解放。当然,DuckDB只是举例子,能从数据库取数,不管是开源的,商用的,国产的像达梦、OceanBase,这些都是数据处理不可能回避掉的。WPS迟早要解决这些问题,做到八达通(Octopus)
· 湖北省
2
回复
Tam Kingsley
Tam KingsleyLv.2 潜力创作者KVPWPS金话筒WPS寻令官WPS产品体验官

Lv.2潜力创作者

结构化数据处理还得看SQL,而且OLAP确实是很重要,对于端侧来说开源的端侧olap数据库duckdb确实是一个不错的选择之一,而在线表格甚至可以考虑ClickHouse这类
· 广东省
1
回复
 
大兵
打卡
· 甘肃省
1
回复
 
wils
wils Lv.2 潜力创作者

Lv.2潜力创作者

支持duckdb 其实现在wps就可以用xloil代替xlwings,挺方便的
· 河南省
1
回复
快乐小子新
https://github.com/cunnane/xloil 这个吗?
· 北京
1
回复