SSAS表格项目中的多对多关系

时间:2013-10-29 14:06:36

标签: many-to-many ssas

我正在尝试在SSAS表格中建立多对多关系。

我的表格项目(销售,客户,客户电子邮件)中有以下内容:

enter image description here

销售与客户联系在一起。客户可以收到多封电子邮件。

如何创建适合数据透视表当前过滤器的所有电子邮件列表?

例如,我可以创建一个数据透视表,显示“保证金<20%的帐户”,并希望获得与这些帐户相关联的所有电子邮件的列表。

示例,从以下销售数据开始:

customer #  | revenue
1234        | 100
6789        | 50

我希望看到类似的东西(取决于确切的数据透视表设置)

1234      
  one@sample.com    | 100
  two@sample.com    | 100
6789      
  three@sample.com  | 50

one@sample.comtwo@sample.com都绑定到同一帐户)

相反,我得到:

  1234
    one@sample.com    | 100
    two@sample.com    | 100
    three@sample.com  | 100
  5678
    one@sample.com    | 50
    two@sample.com    | 50
    three@sample.com  | 50

2 个答案:

答案 0 :(得分:0)

我不确定这是否可以解决您的问题,但我通过在两个多对多表之间创建桥梁关系来解决我的问题。我找不到我使用过的确切文章,但这个文章看起来就是这样解释的:

http://brentgreenwood.blogspot.com/2011/12/case-for-bridge-tables.html

在您使用Dimension Usage时,在您的多维数据集设计器中,其中一个选项是“多对多”。连接“桥”表应该只具有两个连接维和事实表的标识。我知道我没有解释你问题的任何具体内容,但也许这可能有助于你指出正确的方向。

答案 1 :(得分:0)

SQL Server 2012和2014不支持多对多关系.SQL Server 2016将包含此缺少的功能。 解决此问题的简单方法是将所有相关表放在过滤器中。此快捷方式适用于我的环境。下面给出示例供您参考。 措施1:=计算(总和[销售], '顾客', '电子邮件')

尝试后请告诉我。