全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

取数模块和报告模块的区别

最近更新时间:2021-03-02 20:03:32

1.场景介绍:

假设现在有交易,地区,客户三张表

1.交易表结构

image.png

2.地区表结构

image.png

3.客户表结构

image.png

在AxisBI上建模如下:(关联方式是内连接)

image.png

2.报告和取数模块使用:

使用步骤是:

(1)报告模块使用方式:

数据连接->数据模型(固化)->报告

(2)取数模块使用方式:

数据连接->数据模型(动态)->取数

从使用步骤可以知道,差异点在是否是动态。

假设现在有两个需求:

需求1:按客户维度去分析销售额。

需求2:按地区维度去分析销售额。

需求1:

(1)报告侧使用:

在表格中拖入客户名称和销售额。形成的sql如下:

select 客户名称,
sum(销售额)  from (select * from  订单表 t1,地区表 t2,客户表 t3   where t1.客户id=t3.客户id and t1.地区id=t2.地区id )  group by 客户名称

(2)取数侧使用:

在表格中拖入客户名称和销售额。形成的sql如下:

select 客户名称,sum(销售额) from  订单表 t1 ,客户表 t2   where t1.客户id=t2.客户id group by 客户名称

需求2:

(1)报告侧使用:

在表格中拖入地区名和销售额。形成的sql如下:

select 地区名,sum(销售额)  from (select * from  订单表 t1,地区表 t2,客户表 t3   where t1.客户id=t3.客户id and t1.地区id=t2.地区id )  group by 地区名

(2)取数侧使用:

在表格中拖入地区名称和销售额。形成的sql如下:

select 地区名,sum(销售额) from  订单表 t1,地区表 t2  where t1.地区=t2.地区id  group by 地区名

结论:

(1)报告侧,一旦模型确定,报告侧都是基于模型固化的sql做的分析。模型的sql:

select * from  订单表 t1,地区表 t2,客户表 t3   where t1.客户id=t3.客户id and t1.地区id=t2.地区id

(2)取数侧,表格中使用了哪些字段,就把这些使用字段的表进行关联。

优缺点:

1.取数是动态建模,可以适用于星型模式( 一张事实表,多个维度表关联)

当数据量大的时候,少关联表可以大幅度提升性能。

2.取数是动态建模,是一种探索式分析。

3.报告是固化建模,有一定的使用场景。两者不可替代。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈