【问题标题】:PowerBI - Join DirectQuery and Imported tables in DAXPowerBI - 在 DAX 中加入 DirectQuery 和导入的表
【发布时间】:2020-09-20 22:49:38
【问题描述】:

我有一个来自 Azure SQL 服务器的 DirectQuery 表(天气)。我想将其与来自 SharePoint Online 的 Excel 工作表中的导入表 (Buckles) 结合在一起。

两个表都有一个 UID 字段,该字段由 SiteID 和时间戳之间的串联组成。每个表的 UID 字段名称不同。

我在两个表之间创建了一对多关系。

我尝试在 Weather 和 Buckles 上使用 NATURALINNERJOIN 创建一个新的 DAX 表,但出现此错误:

“未检测到公共连接列。连接函数 'NATURALINNERJOIN' 需要至少一个公共连接列。”

我相信基础数据没有问题,因为我已经创建了一个新的导入 Excel 表(测试),其中选择了 Weather 中的数据,并且我能够成功地在 Test 和 Buckles 上创建连接.

是否支持 DirectQuery 和 Imported 表的联接?我觉得这可能是一个类型转换问题,但据我所知,两个 UID 字段都设置为文本。

【问题讨论】:

    标签: join powerbi powerquery


    【解决方案1】:

    每个表的 UID 字段名称不同。

    我怀疑这可能是问题所在。 NATURALINNERJOIN 查找匹配的列名 和if the two tables have no common column names, an error is returned.


    请注意,如果您使用 DirectQuery 源创建计算 DAX 表,我认为该表的行为仍不会像 DirectQuery。如果我理解正确,它会将计算表具体化到您的模型和引用该计算表的 DAX 不再指向 SQL 服务器(因此只会在计算表重建时更新)。

    【讨论】:

    • 是的,我也这么认为,但是其他地方的许多人都说文档是错误的,如果您在两个表之间创建了关系,则必须使用唯一的列名!无论如何,我已经尝试给他们匹配的名称,但错误仍然存​​在
    • 很奇怪。我想你可以更手动地进行连接,确切地指定如何构建它,而不是试图让它自动计算出来。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    相关资源
    最近更新 更多