我有两个表从Azure的SQL在PowerBI,使用直接查询:一个一对多的关系总是变成多到一个由PowerBI
EMP(empID PK)
contactInfo(contactID PK, empID FK, contactDetail)
其中从EMP.empID
到contactInfo.empID
有明显的一对多关系。外键约束被成功执行。
但是我只能在PowerBI中创建多对一的关系(contactInfo.empID
到EMP.empID
)。如果我尝试相反的话,PowerBI总是自动将关系转换为多对一(通过交换from和column),这阻止了我创建视觉效果。 PowerBI认为这两者是否相同?
更新:
我在做什么是刚刚创建PowerBI表显示了连接这两个表的结果。外键约束是contactInfo.empID REFERENCES EMP.empID
,它是多对一的。这应该不是问题,我想,因为我可以直接使用SQL查询连接。
请同时建议我是否应该在相反的方向创建外键。
上未能创造视觉
确切的错误信息更多信息是:
Can't display the data because Power BI can't determine
the relationship between two or more fields.
Version: 2.43.4647.541 (PBIDesktop)
要重现错误:
DB模式如下:
我想要的是PowerBI中的一张表,显示了员工的联系和销售信息,即加入所有四个表。当表视觉的VALUES包含“empName,contactDetail,contactType,productName”时会发生该错误,但是,如果仅包含“empName,contactDetail,contactType”或“empName,productName”,则不会发生错误。起初我认为问题可能在于contactInfo和emp之间的关系,但现在看起来更复杂。我想这可能是由多个一对多关系造成的?
这看起来像PowerBI中的一个bug。我可以很容易地用localdb重现它。但是,我不明白:这是如何防止可视化?您是否可以用一些测试数据和指导说明如何尝试创建不起作用的可视化文件? (FWIW:[这里是一个最小的repro](http://sqlfiddle.com/#!9/72ef3/1)我用来确认你的bug。) – Jeroen
@Jeroen请参阅我的问题中的其他信息。 – Ryan
您已添加帮助的详细信息,但[mcve]会更好。您可以添加(a)一些DDL和DML来设置一个最小测试数据库,类似于我之前评论中的链接示例,并且(b)添加一些步骤来获取PowerBI以设置具有问题的可视化。这会让我们更容易帮忙。 – Jeroen