2

我正在尝试在 powerpivot 中的两个表之间创建关系。但是,我的表没有任何键。我想做的是创建一个类似 SQL-Unique-Constraint 的关系,它基于多个值组合,是关键。

例如:

表 1 列是 First、Last、Address、Phone

表 2 列是相同的。

我想在 excel 中创建一个关系,相当于

select * from Table1 full join Table2 on 1.Fist=2.First and 1.Last=2.Last and 1.Address=2.Address

但是,创建关系对话框不允许选择多个列。我尝试了只创建多个 1 列关系的路线。但是,如果列中存在重复值,则关系也不能包含列。

我有一种感觉,我可能只是从错误的方向接近实现这一目标。任何帮助表示赞赏!谢谢你。

4

2 回答 2

2

泽,

您说得对,PowerPivot 本身并不支持多列关系。但是有两种解决方法:

  • 为连接在一起的各个列的每个表添加一个键,并提供它在至少一个中是唯一的,则可以创建关系。如果您遇到两个表都没有唯一键的情况,则可以使用 SQL 创建一个唯一键的中间表。

  • 从技术上讲,可以在表之间创建多个关系,但只能激活一个。有一个名为 USERELATIONSHIP() 的 DAX 函数可以使用非活动关系。这是一项先进的技术。

您的解决方案很可能是在源 SQL 查询中合并这两个表。雅各布

于 2013-03-15T08:50:06.403 回答
0

如果您只想使用 2 列或更多列进行内部连接,请考虑创建一个计算列,将 2 个表中的每一个中的 2 或 3 列连接起来,然后在它们之间创建关系。

我有过类似的案例并使用过这种技术。

于 2013-03-15T14:08:28.313 回答