【发布时间】:2010-04-21 13:37:19
【问题描述】:
如何使用 oracle 创建一个立方体 olap, 如何从数据源加载数据到多维数据集中的维度和事实表 以及如何在 Java 应用程序中查询此多维数据集。
感谢您的帮助
【问题讨论】:
-
@bainf - 如果你没有得到答案,不要只是转发你的问题。
如何使用 oracle 创建一个立方体 olap, 如何从数据源加载数据到多维数据集中的维度和事实表 以及如何在 Java 应用程序中查询此多维数据集。
感谢您的帮助
【问题讨论】:
我不熟悉 ORACLE,所以我不了解可能会或可能不会内置到产品中的 OLAP 功能。但实质上,要从关系引擎获得 Cube 类型功能,您需要构建数据的星形或雪花模式表示。
这涉及在 FACT 和 DIMENSION 之间对数据进行分类。
简而言之,FACTS 是您要分析、计数、平均、聚合等的事物。例如“OrderValue”、“Quantity”、“Count”等。如您所见,所有这些都是数字类型,所以可以说 FACT 总是数字字段。
另一方面,DIMENSION 是您要分析的事物,或描述 FACT 的事物。维度的示例是“客户”、“产品”、“订单日期”等。
因此,如果我的“OrderValue”为 100 英镑,我可以说这 100 英镑是由“客户”ABC 在“OrderDate”24/03/2010 的“产品”小部件上花费的。因此,维度描述了每个事实
您将所有 FACT 放入一个 FACT 表中,并将您的 DIMENSION 放入单独的 DIMENSION 表中,每个表一个。然后使用键将各个 DIMENSION 行链接到事实。
例如。
FACT 表 = FAC_ORDERS(每个要汇总的事实一行) 结构 FactID、OrderDateID、CustomerID、ProductID、OrderValue、OrderQty
DIMENSION 表 = DIM_Product 结构 产品ID、产品名称
DIMENSION 表 = DIM_Customer 结构 客户 ID、客户名称
DIMENSION 表 = DIM_TimeDay 结构 OrderDateID、ActualDate、年、月、周、日
或者,如果您有权访问运行 Analysis Services 的 SQL Server,则可以通过使用 CUBE-it Zero 之类的工具在 SQL Server 中构建 OLAP 多维数据集来避免这种情况。它是一个免费的 SQL Server OLAP Cube 构建工具,可以在 SQL Server Analysis Server 中构建 OLAP Cube 作为数据源,但您也可以购买一个可选的附加组件来从 ORACLE 获取数据。查看http://www.bi-lite.com
【讨论】: