我在理解BusinessObjects环境中的立方体和微立方体时遇到问题。 虽然我试图在网上找到答案,但我找不到能给出全面解释的答案。 除了功能描述之外,我想知道立方体在哪里以及微立方体位于何处:在服务器上还是在浏览器中? 有多少个立方体/微立方体?每个报告一个微管或每个会话一个微立方体,或者其他?
此外,任何人都可以解释数据库级别上聚合的差异,因为在报告级别上聚合为聚合(在定义度量时,有两种可能性 - 在报告和/或聚合级别上定义聚合)。虽然网上有一些答案,但它们太笼统了。因此,我希望通过一个例子来简单解释。
最后,是否可以在数据基础层中对表进行着色? (因为我在宇宙中有很多表,如果我可以为事实和维度表着色,那将非常有用。)
答案 0 :(得分:2)
有助于理解在BO中查询传统(非OLAP)数据的两遍性质。在BO中刷新报表时,报表引擎会根据查询中指定的对象(结果和条件)构造SQL语句。
将SQL语句发送到数据库,然后报表引擎将检索从数据库返回的数据。此数据成为 microcube - 它只不过是从数据库接收的数据的表格表示。如果您可以直观地看它,它看起来与在传统SQL工具(例如TOAD或SQL * Plus)中运行SQL语句所获得的相同。
然后微立方体成为报告呈现的来源。例如,您可以通过拖动对象列表中的维度和度量来在报表中创建表格。在拖动这些对象时,表格将根据需要重新计算并重新显示。这一切都是通过从源数据中检索和计算来自 microcube ,而不是的数据来完成的。也就是说,当您与报表选项卡进行交互时,您不会从数据库启动刷新 - 所有计算都是从微管上完成的。
例如,假设您创建了一个包含两个维度(State,Region)和一个度量(Sales)的新查询。 SQL可能如下所示:
select state_nm,region_nm,sum(sales_amt)
from all_sales
group by state_nm,region_nm
请注意,sum_()应用于sales_amt。这导致数据库在此字段上执行初始聚合。
刷新后创建的微立方体可能如下所示:
AL North 30000
AL South 40000
AR North 5000
AR South 10000
现在,您在报表中创建一个表,然后选择State和Sales。报告引擎使用微管上的数据显示结果:
AL 70000
AR 5000
在这种情况下,BO报表引擎已对Sales Amt执行sum()聚合。这是报告端聚合。
然后你删除State。同样,报告引擎从微立方体聚合表,而不是数据库:
75000
微立方体与报告文件一起存储。如果您通过InfoView处理WebI报告,则微立方体将加载到服务器的内存中。保存报告时,会在服务器上创建物理文件(扩展名为.wid);微立方体存储在该文件中。如果再次打开报告,微立方体将再次加载到服务器的内存中,并可用于交互。
如果您使用的是Rich Client,则会应用相同的行为,它只是使用您的工作站和本地存储。
术语“多维数据集”通常用于描述OLAP环境中的数据源(例如,SSAS或Essbase)。这是外部到BO - BO将从 OLAP多维数据集中查询数据。
答案 1 :(得分:1)
关于聚合:
数据库聚合由您的RDBMS在源数据上执行,在传输到客户端应用程序(例如Web Intelligence)之前。您可以在度量的select语句中(在Universe的业务层中)使用SUM()
或COUNT()
等语句来应用数据库聚合。它只适用于度量对象,而不是维度。
投影汇总或报告汇总是客户端应用程序(例如Web Intelligence)在检索数据后执行的聚合数据库,因此在内存中。
关于表格颜色:查看教程 Apply color to tables that share the same information 。这应该向您展示如何为数据基础中的表配置颜色。