【问题标题】:How can I create a relationship in excel for multiple columns?如何在excel中为多个列创建关系?
【发布时间】:2013-03-14 20:06:15
【问题描述】:

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

例如:

Table1 的列是 First、Last、Address、Phone

Table2 的列是一样的。

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

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

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

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

【问题讨论】:

  • 我认为 powerpivot 允许的唯一模型就像左连接。至于创建关系,您可以通过连接您的连接列来创建一个键,可能由某个字符分隔。

标签: sql excel join relationship powerpivot


【解决方案1】:

齐,

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

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

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

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

【讨论】:

【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    相关资源
    最近更新 更多