页面树结构

版本比较

标识

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

...

1、前提:业务库适全面适配

目前已经有28+个业务库适配了引擎 V2.0。0,可查看:详情

2、数据模型抽取方面

选项V1.0V2.0 
V1.0
MPP适配
暂时只适配了:SmartbiMppStarRocksSmartbiMppMD
适配了:暂时只适配了:SmartbiMppStarRocksSmartbiMppMD
抽取整体逻辑抽取成一个大宽表。

抽取成小宽表。

信息

什么是小宽表? 以模型上所有单个表/查询为中心构建的宽表。构建宽表的逻辑,以基数进行判断:

  1. 如果该表与连接表的基数是“多对一”或“一对一”的一方,并且它是“多”的一方,构建宽表时会加上连接的表;如果该表是“一”的一方,那么构建宽表时不会加上连接的表。
  2. 如果该表与连接表的基数是“一对一”,该表是“一”的一方,连接的表也是“一”的一方,构建宽表时会加上连接的表。
抽取成一个大宽表。


按次抽取
按次抽取
session级别的,不同用户抽取是不一样的,不同用户无法共享,而且session不过期是不会清理表。
  • 设定动态有效期(默认30分钟,运维可配置),超时自动清理旧表,确保数据新鲜度。
  • 报表刷新时,系统将自动触发重新抽取,数据获取更及时;
  • 相同权限的用户间,抽取结果共享,减少重复抽取,减少资源消耗。
session级别的,不同用户抽取是不一样的,不同用户无法共享,而且session不过期是不会清理表。
抽取行权限
抽取行权限
全部查询以为以抽取人在源表上设置的行权限为主。
  • 如果数据模型中添加的是“数据源表”,抽取时,不会继承它在源表上设置的行权限,行权限只在查询时生效。
  • 其他的查询:如SQL查询、即席查询、存储过程查询等都还是以抽取人在源表设置的行权限为主。
全部查询以为以抽取人在源表上设置的行权限为主。
抽取计算字段
抽取计算字段
时间层次、分组字段、计算列全部不抽取到大宽表中。
  • 时间层次、分组字段、计算列都抽取了小宽表中。
  • 不抽取的情况:
    • 计算列含有参数、用户属性。
    • 在报表层创建的计算列。
时间层次、分组字段、计算列全部不抽取到大宽表中。
计算度量
计算度量
如果计算度量报错,查询数据时,不管有没有勾选该计算度量,都会报错。

不管是在数据模型中创建的计算度量还是在报表层创建的计算度量,如果计算度量错误时,查询数据时:没有勾选该计算度量,不会报错,只有勾选了该计算度量才会报错。

如果计算度量报错,查询数据时,不管有没有勾选该计算度量,都会报错。


计算列

抽取模式:

计算列如果报错,在抽取模式下,抽取日志会显示对应的计算列名称以及表达式信息;

不知道是哪个字段报错。

直连模式:

查询数据时,不管有没有勾选该计算列,都会报错。

抽取模式:

不知道是哪个字段报错。

计算列如果报错,在抽取模式下,抽取日志会显示对应的计算列名称以及表达式信息;

直连模式:

查询数据时,不管有没有勾选该计算列,都会报错。

查询逻辑
如果在报表层勾选了属于不同小宽表的字段,需要时时判断字段属于哪几个小宽表,如果命中多个小宽表,SQL引擎:小宽表之间是join关系;多维引擎:小宽表之间是union关系。

SQL引擎、多维引擎走不同的逻辑。

SQL引擎:根据在报表层勾选字段判断命中几张表,如果是只勾选一张表的字段,即直接查询对应的表/查询;如果勾选了属于不同表/查询的字段,会时时判断,如果命中多个表,就查询大宽表。

多维引擎:只会查大宽表。


如果在报表层勾选了属于不同小宽表的字段,需要时时判断字段属于哪几个小宽表,如果命中多个小宽表,SQL引擎:小宽表之间是join关系;多维引擎:小宽表之间是union关系。



3、计算列支持更多函数

选项
V2
V1.0
V1
V2.0
产品封装的统一函数只有10几个函数。

计算列封装了50+函数,包含:日期函数、数值函数、字符串函数、逻辑函数。

详情可查看:计算列函数

只有10几个函数。


4、报表层的增强

  • 即席查询/透视分析筛选器条件自定义设置“且(AND)” 或者“或(OR)”关系,详情可查看:透视分析即席查询
  • 仪表盘支持单选/多选下拉树、单选/多选列表树(待上线)。
  • 交叉表/透视分析:如果显示汇总小计、合计支持走SQL引擎,详情查看:SQL引擎介绍

...

数据模型引擎V2.0是基于V1.0重构而来的,但是也是有一些差异:

1、维表有的数据,事实表没有。

说明V1.0 VS                                     V1.0            VS                V2.0
  • V1.0:事实表 关联 维表left join后, 事实表不会补空数据。
  • V2.0:  事实表 关联 维表left join后, 事实表会补空数据。



原因:

V1.0 走的取数逻辑是星型模型:取维度成员从维表里面取,查出来行轴上的维度成员组合只有维表中存在的数据。
V2.0 取数逻辑:小宽表逻辑,压缩空行取维度成员是从小宽表里面取,查出来的维度成员组合包括事实表补空的数据。

...

说明V1.0  VS  V2.0
  • V1.0,默认不显示空,需要手工开启压缩空列。
  • V2.0 ,默认会显示空成员




2.4 

...

V1.0

...

与V2.0 查询性能对比