两个表之间的权力枢纽有许多关系

在这里输入图像说明

正如你从图像中看到的,我在这两张表之间有一对多的关系。 但是我想让它成为多对多的。 我使用AssetID作为这些关系的关键。 任何想法如何我可以创build这?

之所以需要它作为一个多对多的即时通讯使用这个powerview和使用列标题作为滑块。 一个例子是,如果我要在tblOperatingSystem滑块中selectWindows 7,我用于tblAssets的滑块只会显示与Windows 7相关的内容,因为我希望能够做相反的事情,并在tblAssets中selectsilde只有操作系统会出现在tblOperatingSystem滑块相关

我已经尝试创build一个只有AssetID的新表,然后将tblAssets和tblOperatingSystem连接到它,但此方法不适用于滑块。

任何想法呢?

如果我正确地理解了这个问题,这就是PowerPivot(和SSAS表格模型)的局限性,在这个模型中,它无法正确build立多对多的关系。 这个关系可以在一个方向上强制执行(如你在操作系统滑动条中看到的那样),但不能在另一个方向上工作。

我过去在PowerPivot / PowerView中设法解决这个问题的方法是创build一个附加的非规范化表,它包含操作系统和资产的所有可能的组合,以及新的标识列(或者OSIDAssetID )作为一个关键。 根据需要configurationtblOperatingSystemtblAsset的一对多关系。

其中的关键部分是在这里也包含您的数据列,使用DAX函数来填充值。 然后,您可以使用这个新的非规范化表格作为您的两个滑块(并隐藏客户端的原件)的来源,当select一个时,它们将自动过滤彼此。

示例非标准化表

现在这个效率不是很高,因为有很多重复,所以如果其他人可以提出另一种方法来实现这一点,我有兴趣听到它自己! 只要小心使用这个与真正的大型数据模型,因为它可以减慢很多事情。

另外 ,我遇到了这篇文章 (其中包含由Marco Russo和Alberto Ferrari 撰写的类似文章的良好链接),但是我还没有尝试过,所以我不确定它与PowerView的效果如何,datePV。

PowerPivot不支持多对多的关系build模,但您可以使用DAX进行模拟。 所有你需要做的就是在你的计量表中列出你的计算表​​中相关的多对多表格。 例如(从http://gbrueckl.wordpress.com/2012/05/08/resolving-many-to-many-relationships-leveraging-dax-cross-table-filtering/ )给出一个布局,如:

在这里输入图像说明

然后在Audience表上写一个度量行数的度量,但是要考虑Targets表上的过滤,你可以这样写:

 RowCount_M2M:=CALCULATE( [RowCount], 'Individuals', 'TargetsForIndividuals', 'Targets') 

通过列出其他表格,他们的filter上下文将重叠,你得到你正在寻找的join。