1

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

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

在此处输入图像描述

销售与客户相关联。一个客户可以有多个电子邮件。

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

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

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

customer #  | revenue
1234        | 100
6789        | 50

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

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

one@sample.com并且two@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
4

2 回答 2

0

我不确定这是否能解决您的问题,但我通过在两个多对多表之间创建桥接关系解决了我的问题。我找不到我使用的确切文章,但这篇文章似乎解释了它:

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

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

于 2014-04-22T21:06:06.303 回答
0

SQL Server 2012 和 2014 不支持多对多关系。SQL Server 2016 将包含此缺失功能。解决此问题的简单方法是将所有相关表放在过滤器中。这个快捷方式在我的环境中有效。下面给出示例供您参考。Measure1:=calculate(sum[sales],'Customer','Emails')

尝试后请告诉我。

于 2015-09-07T05:16:54.540 回答