在SSAS中没有桥接表可以进行多对多关系吗? 我有一个带有SubjectId的事实表和另一个带有FK_SubjectId的事实表和许多其他键(与其他维度相关)。
在我的视图数据源中,两个事实表相互连接,但我无法在维度选项卡中选择多对多关系?
我可能错过了什么?
非常感谢。
答案 0 :(得分:1)
您至少需要定义一个中间维度。这可以基于第一个事实表来定义,并且可以将SubjectId
作为其唯一属性。这对用户来说可能是不可见的。但Analysis Services需要一个多对多关系的中间维度。
答案 1 :(得分:0)
您可以创建公用表。这个意思;例如,您有两个事实表创建一个仅包含事实主键的表。像这样;
选择id作为fact1ID,id作为FactTable1中的fact2ID作为F1 内连接FactTable2为F2 ON F1.FK_ID = F2.ID
并在此隐藏表中创建您的度量。当您编写度量公式时,请勿使用COUNT,请使用DISTINCTCOUNT。然后创建从此公用表到事实表的关系。现在你的事实表将像维度表一样工作。通过这种方式,您可以在彼此之间从所有其他维度表中获取报告。