首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >维度和多维数据集开发数据模型

维度和多维数据集开发数据模型
EN

Stack Overflow用户
提问于 2013-08-29 03:18:58
回答 1查看 325关注 0票数 0

我已经创建了一个在结构上类似于AdventureworksDW环境中的财务报告设计的维度模型,其中每个帐户的值作为事实表中的单个值列保存,维度为数据赋予其语义含义。

此模型中有超过1000列,因此它可以很好地添加或删除额外的列。这里有一个关于这种设计的很好的博客:http://garrettedmondson.wordpress.com/2011/10/26/dimensional-modeling-financial-data-in-ssas/

虽然这个模型可以很好地查询维度模型,并且有支持该模型进行维度分析的示例,但我担心该模型不是多维数据集开发或数据挖掘的标准,后者似乎更喜欢更宽表。

问题:此设计是否被归类为实体-属性-值(EAV)?

使用多个事实表的设计会更好吗?如此多的宽事实表(最多10个),每个表最多200-300列,但行数较少。

我应该期待更多的性能问题与更大的表吗?

EN

回答 1

Stack Overflow用户

发布于 2013-09-02 21:51:32

你说得对,具体的设计被认为是EAV模型。

通过使用这样的设计,您可以轻松地添加新的帐户,层次结构等。您不需要更新您的模型。

我不建议每个度量方法都有一列。在大多数行中,大多数帐户将为null。同样,使用这样的设计,即使只需要检索其中一个度量,也需要读取所有度量。

我们在多维数据集中大量使用帐户维度。不幸的是,像共享成员这样的东西在SSAS中并不容易处理,就像在Essbase中一样。

您需要创建一个Account维度,它是父子维度,并且您还需要像往常一样将此account维度的键放在事实表中。通过使用帐户维度,您可以很好地支持时间平衡功能。使用SSAS的时间平衡功能应该比自定义MDX代码更快。

目前,我们正在将一元运算符和父子关系转换为公式。所以基本上我们有普通的公式,层次结构中的父代也是作为公式工作的。最后,我们将使层次结构变得扁平。因此无法在帐户维度中向下钻取。我们仅使用帐户维度作为计算引擎。也可以有适当的层次结构,但我们决定不同时混合自定义汇总成员和一元运算符。

共享成员和我们作为自定义汇总成员实现的所有公式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18496456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档