我有一个SSAS,里面有许多事实表 - 每个都使用" Regular"尺寸(在“尺寸使用”选项卡中)。这在隔离方面工作得很好,现在我需要从立方体中获得更多的广度。
我有一个FactServiceRequest表,其中包含所有SR详细信息,链接到常规DimLocation。类似地,我有一个FactDog表,其中有一个Dog详细信息列表,再次使用相同的DimLocation(即狗注册的地址)。
所以我有2个度量组列和1个(Dim)行,两者都使用Location Alternate Key
我原本以为我能够选择狗,他们注册的地址,然后选择与该地址和狗有关的事件。然而,我正在返回几乎指数的结果 - 每件事都等等。
有人可以帮忙吗?我想这将归结为事实与dims的结合,但我不确定要向哪个方向前进。
答案 0 :(得分:0)
这是一个棘手的问题,有一些可能的答案。
归结为事实(如果你能原谅这个词用法!),狗既是一个维度又是一个事实:
一种可能的方法是折叠(非规范化)数据库中的服务请求,该服务请求充当多维数据集源,以便每个SR行包含所有Dog详细信息。这意味着会有很多重复,这有两个缺点:
但在这种方法中,您只有一个度量组。
我在一些项目中采用的不同方法是保留事实表(狗为1,SR为1)。但是,您可以在Dog表中创建两个一个Dimension 和一个度量组。在多维数据集维度用法中,您可以通过“事实”类型关系将“MeasureGroup Dogs”与“Dimension Dogs”关联起来(对话框中的简短描述有用地说“维度表是事实表”)。
然后,通过“多对多”类型关系,Dog维度可以通过ServiceRequest事实表/度量组与基于ServiceRequest表的维度(例如,Type of ServiceRequest,Service of ServiceRequest)相关联。