SSAS将两个事实表链接在一起-如何链接?

SSAS将两个事实表链接在一起-如何链接?,ssas,dimensions,ssas-2012,Ssas,Dimensions,Ssas 2012,我有一个SSAS,里面有许多事实表——每个都使用“常规”维度(在维度使用选项卡中)。这在单独的情况下可以很好地工作,现在我需要从立方体中增加一点宽度 我有一个FactServiceRequest表,其中包含中的所有SR详细信息,链接到一个常规位置。同样,我有一个FactDog表,其中有一个狗的详细信息列表,同样使用相同的DimLocation(即狗注册到的地址) 所以我有两个度量值组列和一个(Dim)行,都使用位置替换键 我本来希望我能够选择狗,他们注册的地址,然后是与该地址和狗相关的事件。然而

我有一个SSAS,里面有许多事实表——每个都使用“常规”维度(在维度使用选项卡中)。这在单独的情况下可以很好地工作,现在我需要从立方体中增加一点宽度

我有一个FactServiceRequest表,其中包含中的所有SR详细信息,链接到一个常规位置。同样,我有一个FactDog表,其中有一个狗的详细信息列表,同样使用相同的DimLocation(即狗注册到的地址)

所以我有两个度量值组列和一个(Dim)行,都使用位置替换键

我本来希望我能够选择狗,他们注册的地址,然后是与该地址和狗相关的事件。然而,我返回的结果几乎是指数级的——每件事情的每一个事件等等


有人能帮忙吗?我想这将归结为事实与模糊的结合,但我不确定该朝哪个方向前进

这是一个棘手的问题,有几个可能的答案

归根结底,狗既是一个维度,也是一个事实(如果你能原谅这个词的用法的话!):

  • 狗是事实,因为它存在。我猜您在MeasureGroup Dog中的度量值是一个简单的计数(按位置切片以获得“此位置有多少只狗”?)
  • Dog也是一个维度,用于分割ServiceRequest事实
  • 一种可能的方法是在充当多维数据集源的数据库中折叠(非规范化)服务请求,以便每个SR行都包含所有Dog细节。这意味着会有很多重复,这有两个缺点:

    • 它占用了更多的空间,并且引入了不一致地正确更新所有狗的详细信息副本的风险(您的ETL必须格外小心地构建)
    • 任何其他真正与狗相关的指标,而不是SR(例如,狗的年龄),都将变得难以汇总
    但在这种方法中,您只有一个度量值组

    我在一些项目中采用的不同方法是保持事实表的原样(1个用于Dog,1个用于SR)。但是,您可以在Dog表之外创建维度和度量值组。在多维数据集维度使用中,您可以通过“事实”类型的关系将“MeasureGroup Dogs”与“Dimension Dogs”关联起来(对话框中的简短描述表示“维度表就是事实表”)


    然后,Dog维度可以通过“多对多”类型的关系,通过ServiceRequest事实表/度量值组,与基于ServiceRequest表(例如ServiceRequest类型、ServiceRequest日期)的维度相关联。

    Thankyu@SebTHU,选项2似乎是我的选择。谢谢您的时间。@user3735855:很高兴我能帮上忙!如果我的答案解决了问题,请将其标记为“已接受的答案”(本网站的工作方式)。