首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectQuery中不支持的查询(PowerBI / PowerQuery)

DirectQuery中不支持的查询(PowerBI / PowerQuery)
EN

Stack Overflow用户
提问于 2017-03-01 01:27:29
回答 1查看 5.6K关注 0票数 5

Display rows where foreign key is present in PowerBI的后续行动

现在,我有了以下查询,该查询通过联接检索数据并显示为表:

代码语言:javascript
复制
let
    Source = Sql.Database("server\database", "Mclaren"),
    dbo_Capability = Table.NestedJoin(
        Source{[Schema="dbo",Item="Capability"]}[Data],{"ID"},
        Source{[Schema="dbo",Item="Information_Group"]}[Data],{"Capability"},        
        "NewColumn",
        JoinKind.RightOuter
    ),
    #"Removed Columns" = Table.RemoveColumns(dbo_Capability,{"NewColumn"})
in
    #"Removed Columns"

输出:

实际上,数据是通过DirectQuery获取的,以支持实时数据的显示。但是,查询编辑器引发了一条警告消息,该消息说:“此步骤导致在DirectQuery模式下不支持的查询”。在谷歌上搜索后,我发现问题和答案在逐个案例的基础上是独一无二的。

这个问题可以通过切换到“导入”模式来解决,但我不希望沿着这条路走下去;我宁愿更改查询,以允许在处理DirectQuery时仍然执行我想要做的事情。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-03-01 14:47:11

问题的原因似乎是RightJoin。PowerBI不支持任何类型的联接的直接查询,只有左联接除外。

尝试以下几个方面:

代码语言:javascript
复制
let
    Source = Sql.Database("server\database", "Mclaren"),
    dbo_Capability = Table.NestedJoin(
        Source{[Schema="dbo",Item="Information_Group"]}[Data],{"Capability"},        
        Source{[Schema="dbo",Item="Capability"]}[Data],{"ID"},
        "NewColumn",
        JoinKind.LeftOuter
    ),
    #"Removed Columns" = Table.RemoveColumns(dbo_Capability,{"NewColumn"})
in
    #"Removed Columns"

同样,我认为没有理由删除"NewColumn“。

如果两个表都没有相同的列,您可能还会发现这种方法很有用:

代码语言:javascript
复制
let
    Source = Sql.Database("server\database", "Mclaren"),
    dbo_Capability = Table.Join(
        Source{[Schema="dbo",Item="Information_Group"]}[Data],{"Capability"},        
        Source{[Schema="dbo",Item="Capability"]}[Data],{"ID"},
        JoinKind.LeftOuter
    )
in
    dbo_Capability

结果表将与在SQL中使用LEFT JOIN相同。

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

https://stackoverflow.com/questions/42521644

复制
相关文章

相似问题

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