是否可以基于实体属性值数据库创建数据仓库?
如果是这样,怎么做?
基本上我有以下格式的数据:
id name value
----------------
1 name1 10
1 name2 20
1 name3 30
2 name1 40
2 name2 50
2 name3 60
...
而不是以下内容:
id name1 name2 name3
--------------------
1 10 20 30
2 40 50 60
我遇到的问题是我无法在事实表中放入特定的名称/度量。
name1
,name2
并且事先不知道name3
(甚至不知道其中有多少)。
关于如何解决这个问题的任何想法?我在互联网上搜索,但找不到任何相关信息。任何帮助是极大的赞赏...
注意:我没有任何构建数据仓库的经验。我目前正在阅读:数据仓库 ETL 工具包:提取、清理、整合和交付数据的实用技术(作者:Ralph Kimball)
所以回答本(来自评论):“你的表实际上是规范化的......你为什么要反规范化它? ”
长答案:
我们的客户使用一种工具,该工具允许他从工作区中的 OLAP 多维数据集中拖放维度和度量,然后向他显示所选数据。
如果我使用Paul Grimshaw 建议的模型,客户需要在工作区中拖动名称,然后添加一个过滤器以使名称等于例如name1
(如果他愿意)。
另一方面,如果客户有一个他可以在工作区中拖动的名称列表,他只需要一个操作(易用性)来访问与之关联的数据name1
(只是一个示例)。还有一个原因:可发现性。客户可以查看可用名称列表并从中进行选择,而不是为名称添加过滤器(他需要知道确切的名称)。
简短回答:客户易于使用(包括名称的可发现性)。