知识库 : 指标的聚合方式说明及不聚合的使用

Edit Document

 

 

 

 

 

 

 

 

 

指标的聚合方式说明及不聚合的使用

 

 

作者 霍琦

 


目录

1.               定义

1.1.               定义

1.2.               计算方式

2.               应用场景

2.1.               聚合

2.2.               不聚合

 

1.     定义

1.1.     定义

钻取是改变维的层次,变换分析的粒度。它包括向上钻取和向下钻取。

每个成员针对某个指标的计算值,是其子成员针对该指标的计算值的聚合值,至于聚合方式,则根据对应指标的聚合方式来定。

每个指标可以定义“聚合类型”,如“计数”、“平均值”、“最大值”等,同时,也可以以“不聚合”的方式展现,针对某些情况,维度成员对应的指标值在分析数据中已经做好,不再需要聚合类型就可以直接展现,此时聚合类型就可以指定为“不聚合”,在报表展现时不会对指标数据采取任何聚合方式。

1.2.     计算方式

在这里对计算方式做个简单介绍,提高对数据仓库中事实表的理解。

“求和”,“计数”等的计算方式比较好理解,父成员的计算值根据子成员的计算值做聚合,比如,用友集团下面包括北京分公司和上海分公司两个子成员,如果“销售额”这个指标的聚合方式是“求和”,则用友集团的销售额等于北京分公司和上海分公司两个成员的销售额总和,如果“销售额”的聚合方式是“最大值”,则用友集团取子成员中的最大值作为其值。需要说明,“唯一计数”的意思是,对当前成员的子成员的唯一值做计数。

上面介绍的是聚合指标的计算方式,接下来说一下不聚合指标的计算方式,直接点说,父成员针对某个不聚合指标的计算方式,是取其子成员集合的第一个成员的计算值。仍然以用友集团为例,比如某个指标的计算方式比较复杂,在 ETL 过程就已经计算出来,不需要在多维分析中再计算,则用友集团下面可能会有三个子成员,除了北京分公司和上海分公司,还包括一个用友集团自身,获得用友集团的子成员集合中的顺序是,“用友集团”,“北京分公司”,“上海分公司”,父成员用友集团的计算值等于第一个子成员(用友集团)的计算值,这一点需要注意维表和事实表的创建方式。

2.     应用场景

2.1.     聚合

多维模型

 

报表

 

可以看到每个父成员都是由子成员的指标计算值的求和获得。

 

 

 

 

 

2.2.     不聚合

多维模型

 

报表

可以看到,每个父成员的值都是由第一个子成员的计算值决定,至于最底层成员,比如“北京朝阳”,计算它的指标值时, sql 如下:

select d.level3_caption,f.sales

from huoqi_fact f, huoqi_dim1 d

where f.dim1_id=d.dim1_id and f.dim1_id=4

返回的结果集:

取第一条记录,值为 9000.

Attachments:

知识库_指标的聚合方式说明及不聚合的使用.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)