BI Designer 多对多关系

BI Designer many to many relationship

我是 Microsoft Power BI 设计器的新手,注意到 documentation 提到能够在该工具中进行多对多连接。当我尝试进行多对多连接时,我收到一条错误消息“您无法在这两列之间创建关系,因为其中一列必须具有唯一值。我做错了什么吗?

提前致谢。

这是文档中的一个错误。正如您所注意到的,您不能在关系对话框中指定它。多对多关系需要一个连接点 table 才能工作(中间的一个 table 说明两个 table 应该如何关联。)你也许可以得到你想要的1:1 或 M:1 关系。我们可能会及时找到一种自动执行此操作的方法。

这是 Tableau 相对于 Power BI 的优势之一。尝试在 Power BI Desktop 2.38 中创建多对多关系时,我遇到了同样的问题。 CustomerHistory table 中的 CustomerID 无法与 Lead table 中的 CustomerID 相结合,这使得根据另一个 table 的值分析一个 table 中的数据变得困难。

但是,我可以轻松地在 Tableau Public 10.0:

中加入两个 table

在 Power BI 中实际上有两种简单的方法可以做到这一点,

  1. 如果您有杂乱的数据(堆、两个电子表格等),请使用合并查询功能。这使您可以尝试加入具有多列的数据源。

在查询编辑器中,select 您想要在其中查看联接数据的查询。单击合并查询(select 您想要的联接类型(内部、外部等)),然后按住 control 和 select 您要从源和目标加入哪些列,它将显示它的点击次数。单击确定,然后单击 select 您希望在原始查询中看到的列。

  1. 您还可以创建一个基于多列的计算列,并将其用作每个查询的单个 "key"。我发现合并是一个更简单的解决方案,因为我将结果放在一个主要查询中,并且它更易于在报告中使用。

这个 "single" 关键概念的原因是表格 mode\power 主元。 MS 可能最终会通过在幕后为您创建多字段计算列来简单地处理这个问题。