Aggregate聚集的概念

Aggregate聚集的概念<摘自网络>BW中聚集是指根据InfoCube中几个或者一个维度信息对象创建的小的CUBE,其实是新生成一张事实表,外加一些对应的维度表,可以提供数据的访问效率。Anaggregateisarollupoffactdatawhereatotalvalueissufficientandnodetailedinformationisneede…

大家好,又见面了,我是你们的朋友全栈君。

<摘自网络>

BW中聚集是指根据InfoCube中几个或者一个维度信息对象创建的小的CUBE,其实是新生成一张事实表,外加一些对应的维度表,可以提供数据的访问效率。

An aggregate is a roll up of fact data where a total value is sufficient and no detailed information is needed.

Technically speaking,an aggregate is a separate infoCube with its own fact table and dimension tables.When an aggregate is created,it is gaven six-digit number <1NNNNN> that starts with a ì1?. The table name for an aggregate is derive in the same way from this number as InfoCube table names are derived from InfoCube names.

For example, if an aggregate has the technical name 100001, its fact tables are

called /BIC/E100001 and /BIC/F100001. Its dimensions have the table names

/BIC/D100001P, /BIC/D100001T, and so on.

Dimension tables can be shared between an InfoCube and an aggregate. In this

example, dimension 2 (the country dimension) is shared between the InfoCube

and the aggregate. It is not necessary to create a new dimension table. A link to

this dimension table is created in the aggregate fact table.

聚集维度可以分为“层次结构的聚集”(H)、“固定值的聚集维度”及“一般聚集维度”;其主要用法根据实际使用来确定,例如某张报表只会访问到某个层次结构的N层次,再往下就不看了,则可以给CUBE生成一个对应的聚集,该聚集维度基于该层的“层级结构维度”。

其中对于聚集中维度数据和事实表数据的更新,如果是导航属性生成的维度表,则通过信息对象的change run可以同步聚集维度表数据,而事实表数据通过ROLL UP可以更新。

简单来说,聚集的作用是:预先计算,以空间换时间。提高Query的查询效率。

 

下图为InfoCube中的数据,即事实表中的数据,第6列为数量,第7列为合计金额,第8列为单价

InfoCube中的事实表数据

Aggregate中的数据

0FACTCOUNT代表聚集的记录数,Y2IO_QUAN为合计的数量(共合计了3条记录),Y2IO_REV为合计的金额数

Sales Price为合计的价格(无用,此记录不应该被合计)

聚集中的结果数据

转载于:https://www.cnblogs.com/wjonjon/archive/2010/01/13/1646029.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143782.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 开曼群岛的中国大企业(Maluku_Islands)

    http://baike.baidu.com/view/29653.htm开曼群岛百科名片  开曼群岛地理位置开曼群岛(有时也译为凯门群岛)是英国在西加勒比群岛的一块海外属地,由大开曼、小开曼和开曼布拉克3个岛屿组成。开曼群岛是世界第四大离岸金融中心,并是著名的潜水胜地。 查看精彩图册

    2022年4月11日
    66
  • oracle数据库学习总结在(一)

    oracle数据库学习总结在(一)对oracle已经学习三个多月了,看了不少东西,oracle数据库很复杂,光概念就很多,为了对oracle有更好的认识我打算把我这段时间的学习做下总结,为结下来的学习打下好的基础。  总结目录:1.设计数据库,设计出结构优化的数据库,可扩展性好。2.数据库的备份和恢复,权限的分配3.优化数据库,数据库性能调优。4.数据库开发,存储过程,触发器,函数等后端数据库程序,给系

    2022年10月21日
    4
  • tomcat java_tomcat和maven的区别

    tomcat java_tomcat和maven的区别缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

    2022年8月8日
    4
  • Linux安装Node.js(图文解说详细版)

    Linux安装Node.js(图文解说详细版)第一步,下载安装包https://nodejs.org/dist/v12.14.1/第二步,上传到云服务器第三步,解压源码tar-zxvfnode-v12.14.1-linux-x64.tar.gz第四步,验证是否成功出现版本号说明成功了第五步,设置全局命令行vim/etc/profile之后就在任何地方的命令行输入node-v显示出信息就说明安装成功了…

    2022年10月20日
    2
  • loadrunner12使用手册_loadrunner脚本编写教程

    loadrunner12使用手册_loadrunner脚本编写教程首先我们安装好loadrunner12之后,出现这三个图标,然后开始操作。操作:1.打开VirtualUserGenerator,新建脚本2.选择脚本协议,对脚本名称位置可以进行编辑。此处以web-http/html为例。3.点击创建后,选择录制脚本,填写好录制的地址,应用程序,然后选择开始录制,此处以测试登录为例4.结束录制后,点击关联回放,确保脚本无误5.对代码进行进一步完善,插入事务或集合点6.对脚本进行执行回放,确保脚本无误,对脚本进行参数化可以直

    2022年10月14日
    3
  • thinkphp 本地配置手机移动端,在pc端访问手机端

    thinkphp 本地配置手机移动端,在pc端访问手机端

    2021年10月16日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号