首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Power BI关系-无法确定两个或多个字段之间的关系

Power BI关系-无法确定两个或多个字段之间的关系
EN

Stack Overflow用户
提问于 2022-09-13 08:27:08
回答 3查看 153关注 0票数 1

作为我们应用程序的一部分,我们有一个“app”的Power嵌入式场景。我们编写了一个模型,目的是使最终用户能够连接到Power模型,并在该模型的基础上编写自己的简单报告。99%的报告将是简单的列表,并且模型非常大,有许多关系--而不是一般的星型模式(我们基本上试图让它像SSRS中的旧语义模型那样工作)。

在构建将4+表/视图连接在一起的报表时,它主要工作得很好。我们(非常)削减模式的一个例子如下..。

用户可以从“占有”、“属性”、“占有人”和“人员”表中的字段生成报表,但是,一旦我从“人员联系人”中添加字段,就会得到以下错误

很明显,当我回到SSRS的时候,我遗漏了一些东西,这段关系会很好。如何使用户能够构建将所有这些实体连接在一起的报告?

EN

回答 3

Stack Overflow用户

发布于 2022-09-13 09:04:18

请记住,所有链接“一到多”DAX引擎将转换为SQL LEFT JOIN。在您的模型中,每个Pearson都有多个联系人,这意味着DAX实际上将Person Contacts表转换为下表:

代码语言:javascript
复制
SELECT * 
  FROM [PERSON CONTACTS]
  LEFT JOIN [PERSON]
  ON [PERSON CONTACTS].[Key]=[PERSON].[Key]

就是这样。

因此,[PERSON CONTACTS]只与[PERSON]有链接,而且只有一种方式。[PERSON CONTACTS]与任何其他表都没有关系。

同时,[Occupancy]已经与除[PERSON CONTACTS]之外的所有其他表一起离开了join。

这就是为什么你会得到这个错误。

它可以是几个解决方案。您可以使用额外的关键字段和双侧链接或DAX。

票数 2
EN

Stack Overflow用户

发布于 2022-10-15 00:42:17

如果您只需要一个或两个来自“PERSON CONTACTS”的列,那么我将使用DAX度量来将多个“PERSON联系人”记录连接起来,如下所示:

代码语言:javascript
复制
All Contacts =
CONCATENATEX (
    DISTINCT ( 'PERSON CONTACTS'[CONTACT DETAIL] ),
    'PERSON CONTACTS'[CONTACT DETAIL],
    ", ",
    'PERSON CONTACTS'[CONTACT DETAIL]
)

这将继续为每个人返回一行,并将他们的联系人详细信息连接到一个单元格中。

然而,如果你需要多列从‘人联系人’,我会把它与‘人’的关系变成一对一。这可能需要过滤查询层中的'PERSON CONTACTS‘数据,例如,每个'PERSON’只有“主”或“最近”记录

票数 0
EN

Stack Overflow用户

发布于 2022-10-18 08:17:15

你能使Occupancy_Person对人的关系双向吗?您之所以得到错误消息,是因为PBI无法将过滤器从Occupancy_Person传播到Person,因为这种关系是单向的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73699800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档