如何在没有主键的情况下连接三个表?

问题描述 投票:0回答:1

我目前正在 power bi 工作,但这在其他平台上也失败了。我在以下数据库设计中遇到无效连接/歧义错误。我无法修改数据库。

我在Excel中有以下数据源-

书籍发行 -

Date        EmployeeID    Book Number
01-02-2021  1             45
02-05-2021  1             56
05-07-2021  2             78

访问代码 -

EmployeeID  AccessCode
1           A
2           B

图书库存详情 -

AccessCode Book Number BookQty  Days
A          45          2        7
A          56          3        3
A          78          1        999
B          45          123      10
B          56          555      30
B          78          666      40

我想加入表格,这样我的输出应该是-

EmployeeID Book AcessCode BookQty Days
1          45   A         2       7
1          56   A         3       3
2          78   B         666     40

输出描述 - 我想查看每位员工、他发行的书籍、他的访问代码以及与该特定书籍的访问代码相关的数量和天数。

我得到的输出 -

EmployeeID Book AccessCode BookQty Days
1          45   A          2       7
1          45   A          123     10
1          56   A          3       3
1          56   A          555     30
2          78   B          1       999
2          78   B          666     40

我不明白为什么我得到的结果不明确。

database join database-design powerbi
1个回答
0
投票

您需要创建以下关系:

然后创建一个计算表:

ResultTable = 
SELECTCOLUMNS(
    'BooksIssued',
    "EmployeeID", 'BooksIssued'[EmployeeID],
    "Book", 'BooksIssued'[Book Number],
    "AccessCode", RELATED(AccessCodes[AccessCode]),
    "BookQty", LOOKUPVALUE(BookInventoryDetails[BookQty], BookInventoryDetails[AccessCode], RELATED(AccessCodes[AccessCode]), BookInventoryDetails[Book Number], 'BooksIssued'[Book Number]),
    "Days", LOOKUPVALUE(BookInventoryDetails[Days], BookInventoryDetails[AccessCode], RELATED(AccessCodes[AccessCode]), BookInventoryDetails[Book Number], 'BooksIssued'[Book Number])
)

© www.soinside.com 2019 - 2024. All rights reserved.