页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

信息

1、SQL引擎V2.0 只能在数据模型V2.0开启之后才能使用。

2、SQL引擎V1.0的支持范围可查看SQL引擎V1.0介绍

3、SQL引擎V2.0不会加载明细数据到内存中,是计算汇总后的数据。

4、如果只是简单查询,比如只有维度+度量(原子度量),即使开启了SQL引擎V2.0 仍然会走SQL引擎V1.0。

5、数据模型引擎不管是SQL引擎还是多维引擎,如果满足条件系统会自动切换,无需手工切换。

6、在2025-05-13之后新安装的环境,默认开启SQL引擎V2.0,无需手工开启。

1 概述

1.1 SQL引擎V2.0 是什么?

...

  • 查询含有计算度量(包含mdx表达式)、计算成员、计算命名集,不支持走SQL引擎。
  • 当过滤条件是度量并且显示了合计的情况,如下图,不支持走SQL引擎:


  • 年周层次,涉及到时间的计算不支持走SQL引擎,如下图:

  • 交叉表组件如果显示分类汇总,并且在度量、快速度量上增加了排序不支持走SQL引擎,如下图:
    Image Added

1.4 如何开启SQL引擎V2.0?

  • 需要先在运维设置/系统限项/高级设置 中开启数据模型引擎V2.0:OLAP_QUERY_NEW_ENGINE_BUILD_MDX=true;USE_NEW_ENGINE_PREPROCESS=true再开启SQL引擎V2开启SQL引擎V2.0: USE_NEW_ENGINE_NEW_SQL=true, 这个一旦开启,是全局性的,所有基于数据模型的报表查询满足条件都会走SQL引擎V2.0。
  • 如果只是想要在某个数据模型中开启,可以在高级选项开启:DATAMODEL_OPEN_SMARTCUBE_ENGINE_BUTTON=true,效果如下图所示:

...

序号

内容

V1.0

V2.0

1

查询度量并且把汇总依据切换成“唯一计数”并显示“合计”,如下图报表:


支持

支持

2

当过滤条件是度量并且显示了合计的情况,如下图:

不支持,会走OLAP引擎


不支持,会走OLAP引擎

原因: 生成的执行SQL语句,度量在外层,度量对合计不生效。

3

年周层次,涉及到时间的计算不支持走SQL引擎,如下图:

不支持

不支持

注意:年周+排名、占比是支持走SQL引擎的。后续年周的时间计算会支持走SQL引擎。

4

中文排序结果可能不同,如下图:

V1.0显示效果:

V2.0显示效果:

排序不一致:主要是由于数据库本身的字符集或者中文编码而造成的排序结果不一样,有的中文排序结果是一样的,暂时没有得到什么规律。

5

空值(Null)的排序:

由数据库决定

在SQL引擎V2.0时,升序时空值在第一行,降序在最后一行。


6

当数据模型是多事实并且是抽取模式(抽取到SmartbiMpp产品默认使用高速缓存库CH)中,如果度量的值没有时(full join 出现来的空),在报表层显示效果不一致。

SQL引擎V1.0显示”0“,如下图:

SQL引擎V2.0显示“空”,数据是什么就显示什么:

7

空行与空列数据压缩能力,可自动过滤查询结果中的无效空白数据,提升数据展示简洁性与查询性能。

压缩空行默认是开启的,在报表设置项里可手工关闭。

压缩空列默认是关闭的,在报表设置项里可手工开启。

Image Added

SQL引擎V1.0 ”压缩空行“、”压缩空列“的效果没实现。

即使在报表上设置了压缩空行、空列,也没有压缩的效果。



SQL引擎V2.0 实现了压缩空行、空列; 压缩空行默认是开启的

压缩空行取数规则:

用户在透视分析、交互式仪表盘、模型查询设置压缩空行,取数逻辑会优先使用报表层的设置值,如果开启,则走开启的逻辑,关闭则走关闭的逻辑。


web电子表格、电子表格如果是直接基于数据模型做报表,客户想需要关闭压缩空行效果,需要把系统选项/高级设置:SQL_ENGINE_IS_FILTER_NULL=false进行关闭。

3 如何判断是否走了SQL引擎V2.0

方法1:查看系统监控 “SQL/MDX监控”记录的数据源是否显示“SQL引擎V2.0”,如果是,则走了SQL引擎V2.0。

...