Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 如何从源数据中的两个独立层次结构构建维度_Database Design_Business Intelligence - Fatal编程技术网

Database design 如何从源数据中的两个独立层次结构构建维度

Database design 如何从源数据中的两个独立层次结构构建维度,database-design,business-intelligence,Database Design,Business Intelligence,我正在尝试为组织创建一个称为DIMORganization的维度,但我不确定使用什么作为关键 这是一张组织表的图表 Enterprises是顶级父表。所有与库存相关的数据都由LocationID存储,这称为库存层次结构,所有与销售相关的数据都由RevenueCentreID存储,这称为收入层次结构。目前,多维数据集只需要按ProfitCenter ID显示数据。在加载多维数据集之前,我们将在视图中按ProfitCenter ID对维度进行分组 以下是我一直在考虑的几个解决方案: 创建复合关键点R

我正在尝试为组织创建一个称为DIMORganization的维度,但我不确定使用什么作为关键

这是一张组织表的图表

Enterprises是顶级父表。所有与库存相关的数据都由LocationID存储,这称为库存层次结构,所有与销售相关的数据都由RevenueCentreID存储,这称为收入层次结构。目前,多维数据集只需要按ProfitCenter ID显示数据。在加载多维数据集之前,我们将在视图中按ProfitCenter ID对维度进行分组

以下是我一直在考虑的几个解决方案:

创建复合关键点RevenueCentreLocationKey。您永远不会希望看到这样的数据,但我会在构建多维数据集时将事实表链接到正确的键,例如ProfitCenter键 只去利润中心,因为这就是我们所需要的。源数据与事实表和维度表一起存储在数据仓库中,因此我们可以在以后获得更细粒度的数据。 在数据库中创建单独的RevenueCentre和Location维度。但是,在多维数据集中,您只能看到一个维度指向ProfitCentreKey 我知道这是相当主观的,但我想得到任何你认为可能有用的建议或想法。谢谢


对于数据仓库数据库和Analysis Services多维数据集,我都在使用SQL Server 2008。我将使用解决方案3

而你的公司现在不按地点查看收入中心。拥有这种能力在未来可能会很有用

您的成本中心和收入中心是真正的实体,还是只是帮助记账的逻辑机制


每个收入中心都有成本中心吗?

利润中心是餐馆。他们都会有收入中心,如主区域、外部,但只有那些使用我们的库存控制软件的公司才会有成本中心,如厨房、酒吧,然后每个收入中心都会有成本中心。谢谢你的评论。@Craig HB:谢谢你提供更多信息。我可以很容易地看出,按位置查看收入中心的功能在哪里是有用的,即使餐厅是您的客户。