没有桥表的SSAS多对多关系

时间:2013-09-24 15:36:31

标签: many-to-many ssas olap cube

在SSAS中没有桥接表可以进行多对多关系吗? 我有一个带有SubjectId的事实表和另一个带有FK_SubjectId的事实表和许多其他键(与其他维度相关)。

在我的视图数据源中,两个事实表相互连接,但我无法在维度选项卡中选择多对多关系?

我可能错过了什么?

非常感谢。

2 个答案:

答案 0 :(得分:1)

您至少需要定义一个中间维度。这可以基于第一个事实表来定义,并且可以将SubjectId作为其唯一属性。这对用户来说可能是不可见的。但Analysis Services需要一个多对多关系的中间维度。

答案 1 :(得分:0)

您可以创建公用表。这个意思;例如,您有两个事实表创建一个仅包含事实主键的表。像这样;

选择id作为fact1ID,id作为FactTable1中的fact2ID作为F1 内连接FactTable2为F2 ON F1.FK_ID = F2.ID

并在此隐藏表中创建您的度量。当您编写度量公式时,请勿使用COUNT,请使用DISTINCTCOUNT。然后创建从此公用表到事实表的关系。现在你的事实表将像维度表一样工作。通过这种方式,您可以在彼此之间从所有其他维度表中获取报告。