解决方案 · 数据准备与 QVD 生成

用 iModel 为 Qlik 做数据准备
顺便把 QVD 生成也搬出去

这不是替代 Qlik。Qlik 擅长的是关联引擎与交互式分析,把上游的数据清洗、多源合并、口径计算全部压在加载脚本里,才是很多团队维护成本高的真正原因。iModel 在 Qlik 上游接管这部分工作,并可直接生成 QVD 文件 – 不需要占用 Qlik Sense 或 QlikView 的资源。

清洗逻辑可视化从加载脚本搬到流程图,业务方能自己核对口径
QVD 直接生成不依赖 Qlik Sense / QlikView 即可读写 QVD 文件
国产环境可部署麒麟、统信 x86-64 已实际部署,支持完全离线运行
定位

各做各擅长的那一段

Qlik 的强项在关联引擎与交互式分析,这一段没有必要换。真正的问题出在它前面 – 数据是怎么变成能加载的样子的,以及这个过程占用了多少 Qlik 的资源。

上游

源系统

ERP、财务、业务系统、Excel 台账、各类数据库。格式各异,口径不一。

iModel

数据准备 + QVD 生成

读取、清洗、多表关联、口径计算、质量校验,最后直接输出 QVD。全过程可视化,每一步都能点开看结果。

Qlik

分析与展现

直接加载已经准备好的 QVD,专注做关联分析、仪表板与交互探索。

为什么值得拆开

加载脚本承载了太多它本不该承载的东西

下面这几条不是 Qlik 的缺陷,是把数据准备放在加载脚本里做的必然结果。同样的逻辑放在别的 BI 工具的取数环节,问题是一样的。

清洗与生成都挤在 Qlik 里

  • 业务口径写在 LOAD 语句和临时表之间,只有写的人看得懂
  • 人一走,脚本就成了没人敢动的黑盒
  • 业务方想确认某个指标怎么算的,没法自己看,只能问开发
  • 改一处口径要通读整个脚本,判断影响范围靠记忆
  • 大批量或大体积 QVD 的生成,把服务器资源占满

搬到工作流之后

  • 每一步是一个节点,流程图本身就是文档
  • 交接时把工作流文件给对方,打开就能看懂结构
  • 业务方能顺着流程图核对口径,不需要读代码
  • 改一处只动一个节点,上下游影响一眼可见
  • QVD 在 ETL 侧生成,Qlik 服务器只负责加载与分析
核心能力

直接生成 QVD,不占用 Qlik 资源

多数 ETL 工具只能把结果交到 Qlik 门口,QVD 还得靠 Qlik 自己跑一遍加载脚本生成。我们的 QVD 生成能力可以在不使用 Qlik Sense 或 QlikView 的情况下读写 QVD 文件,把这一步整体挪到 ETL 侧。

两种用法,按场景选

同一套能力,既可以嵌在工作流里作为流程的最后一步,也可以脱离工作流独立跑批。

用法一 工作流内输出 在 iModel 工作流末端接上 QVD 输出节点。前面的清洗、关联、汇总跑完,直接落成 QVD,整条流程一次执行到底,可调度、可重跑。适合日常的数据准备流水线。
用法二 独立 QVD 工具 脱离工作流单独使用,在各类数据源与 QVD 之间做格式转换,也可以反向把 QVD 读回来。适合批量转换、历史数据归档、以及需要读取现有 QVD 做核查的场景。
可作为来源的数据格式 文本文件、XML、Excel、Access、DBF、FoxPro、ODBC、OLE DB、MS SQL Server、Oracle、MySQL、PostgreSQL、Firebird、Interbase、SQLite,以及 QlikView QVX 文件。具体清单以当前版本为准,选型阶段可提供确认。
把 QVD 生成从 Qlik 卸载到 ETL 侧,服务器资源留给分析和并发查询
批量与增量生成天然适合自动化调度,不必守着 Qlik 的重载窗口
QVD 加载过程并入标准 ETL 流程,整体数据链路只有一套编排
能读回 QVD,意味着可以对已有 QVD 做质量核查与口径比对
关于兼容性:QVD 是 Qlik 的私有格式,不同产品线与版本之间存在差异。我们支持的 QlikView 与 Qlik Sense 版本范围,以及该能力的授权方式,会在方案沟通阶段按你的实际环境逐项确认 – 这类事情不适合在网页上给通用承诺。
技术对接

三种交付方式,按环境选

iModel 准备好的数据怎么进 Qlik,取决于你现有的环境与数据量。三种方式可以混用,同一套流程里不同数据集走不同路径是常见做法。

方式做法适用需要注意
QVD 直接输出
数据量大时首选
工作流末端直接落 QVD 到 Qlik 的数据目录,加载脚本一行 LOAD 即可。 数据量大、加载时间敏感、需要减轻 Qlik 服务器负担的场景。 需按实际 Qlik 版本确认格式兼容范围;QVD 目录的读写权限要提前规划。
数据库中间层 iModel 把结果写入中间表,Qlik 从这张表读。 已有数据仓库、需要多个下游系统共用同一份结果的环境。 需要一个两边都能访问的库;表结构变更要两边同步。
文件交付 输出 CSV 或 Excel 到共享目录,Qlik 直接 LOAD。 环境最简单,不需要额外基础设施。小到中等数据量够用。 大数据量下加载慢于二进制格式;要约定好文件命名与覆盖规则。
怎么选:先看数据量。单表几十万行以内,文件交付最省事,没必要上 QVD。数据量大、或者 Qlik 的重载窗口已经紧张,QVD 直接输出的收益最明显。多个下游系统要共用同一份结果,走数据库中间层。不要为了架构好看而增加环节。
使用场景

八种常见情形

前四种是数据准备侧的问题,后四种是 QVD 生成能力单独带来的。你的情况可能同时命中几条。

01

多套系统的数据要合并

ERP、财务、业务系统各出一份,字段名不一致、主数据对不上。在加载脚本里做映射和对账,脚本会迅速膨胀到没人能维护。工作流里每张表一条支线,映射关系一目了然。

谁最痛:负责维护主数据映射的 BI 开发

02

口径需要给业务方核对

监管报送、审计口径、绩效考核这类场景,业务方必须能确认「这个数是怎么算出来的」。流程图能摊开给他们看,脚本不能。核对会议的效率差别很大。

谁最痛:要对数字负责的财务、风控、审计负责人

03

脚本已经没人敢改

原作者离职,脚本几千行,改一行怕影响全局。可以按模块逐段搬到工作流,每段与旧结果比对,确认一致再切换,风险可控且随时能停。

谁最痛:接手了遗留 Qlik 应用的团队

04

数据质量要在入口拦住

缺失、重复、异常值需要在进入分析前发现并出具清单。这类校验在工作流里做成一条分支,不合格的数据单独输出,比事后在仪表板上找问题有效得多。

谁最痛:被下游追着问「这个数为什么不对」的人

05

Qlik 服务器重载时间过长

大体积或大批量的 QVD 生成把服务器资源占满,重载窗口越拉越长,白天的分析查询跟着变慢。把 QVD 生成挪到 ETL 侧,服务器只负责加载与查询。

谁最痛:管 Qlik 服务器、被投诉「系统慢」的运维

06

历史数据批量转换与归档

几十上百个历史文件或数据库表要一次性转成 QVD,或者反过来把陈年 QVD 导出成通用格式归档。独立工具跑批,不需要为此在 Qlik 里写一次性脚本。

谁最痛:做数据迁移或系统下线归档的项目组

07

核查现有 QVD 的内容

QVD 是二进制格式,出了问题很难直接看里面是什么。把 QVD 读回工作流,就能做行数核对、字段比对、跨期一致性检查,排错不用整条重载。

谁最痛:排查「昨天还对今天就不对了」的 BI 开发

08

数据准备端需要国产化

前端 Qlik 暂时不动,但数据准备与 ETL 环节要求部署在国产操作系统上、且全程离线运行。这一层可以先独立完成国产化,不影响前端应用。

谁最痛:有信创要求但不想推倒重来的信息化负责人

什么情况下不建议做

如果你的数据源就是一张干净的宽表、加载脚本只有几十行、重载也就几分钟,那没必要引入第二个工具,直接在 Qlik 里做更省事。多一个环节就多一处要维护的东西 – 我们不建议为了架构好看而增加复杂度。

关于我们

同时熟悉两边,才谈得上分工

做这个方案的前提是两边都懂 – 既知道 Qlik 的加载脚本里通常藏着什么,也知道工作流里怎么把它重建出来、并验证结果完全一致。

01

两边都有实际项目

我们既有 Qlik 的实施与服务经验,也是 iModel 的开发方,QVD 生成能力同样出自我们自己。迁移过程中最容易出问题的是口径对不上,这一步需要有人同时看得懂两边。

02

不劝你换掉 Qlik

Qlik 的关联引擎和交互分析能力,我们没有替代它的打算。这个方案的目标是让 Qlik 用得更省心、跑得更轻,不是让你少用它。

03

数据准备端可国产化

麒麟 V10、V11 与统信 UOS 的 x86-64 版本已完成测试并在客户现场部署,支持完全离线运行。ARM 架构(鲲鹏、飞腾)的适配在规划中。

常见问题

关于这个组合的常见疑问

这是要我们把 Qlik 换掉吗?

不是。这个方案只接管 Qlik 上游的数据准备与 QVD 生成,Qlik 该做的分析与展现原样保留。如果你正在找 Qlik 的替代品,这一页不适合你。

生成 QVD 需要装 Qlik 吗?

不需要。这项能力可以在不使用 Qlik Sense 或 QlikView 的情况下读写 QVD 文件,这也是它能把生成压力从 Qlik 服务器上卸下来的原因。具体支持的 Qlik 版本范围,会按你的实际环境确认。

生成出来的 QVD 和 Qlik 自己生成的一样吗?

目标是让 Qlik 能正常加载并得到相同的数据。实施时会做加载验证与逐字段比对,确认行数、字段类型与数值一致后再投入使用。QVD 是私有格式且存在版本差异,我们不会在没验证你的环境前给通用承诺。

现有的加载脚本要全部重写吗?

不必一次性全搬。常见做法是先挑一个维护成本最高、或者重载最慢的数据集,把它的清洗与生成搬到工作流里,和原脚本结果做比对,确认一致后再决定推不推广。剩下的部分继续用原脚本。

怎么保证搬过来之后数据是一样的?

结果比对是必做的一步。相同输入下跑两边,逐字段核对。出现差异通常来自空值处理方式、日期格式解析或数值精度的默认设置不同,这些需要逐项排查,不能靠抽样看一眼就过。

iModel 是自主研发的吗?

iModel 基于 KNIME 开源内核二次开发,中文化、信创适配与企业级增强部分为自主研发,源代码可向客户提供审查。我们不会声称完全不依赖国外技术,这一点在选型阶段会如实说明。

可以先自己试一下吗?

可以。iModel Analytics Studio 免费、不限功能与时长,装好后跟着数据分析教程走一遍,就能判断你那套清洗逻辑搬过来大概是什么工作量。QVD 相关能力的试用方式,可以在方案沟通时单独说明。

先拿一个数据集试一次

挑你手上重载最慢、或者维护成本最高的那个 Qlik 数据集,我们一起把它的清洗与 QVD 生成搬到工作流里,和原结果做比对。一个数据集验证完,值不值得推广你自己就有答案了。

或直接致电 400-8568-196 | info@imodel.com.ai

iModel 专属客服
在线留言或电话联系
在线留言

留下您的问题和联系方式,我们会在一个工作日内回复。

手机与邮箱至少填一项

4008568196 拨打此号码联系我们

微信扫码咨询

iModel 微信咨询二维码

使用微信扫描上方二维码