如何避免“无法将值“[Table]”转换为Excel M语言中的表格?

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

为了简洁和清晰而进行了编辑。

我将目录中的案例文件夹名称列表与数据库中输入的案例编号列表进行比较,以回答以下问题:“数据库中列出了哪些案例在目录中没有支持文件夹?”

为此,我首先编译了文件夹名称列表。我用过

Source = Folder.Contents(<directory path>)

获取目录内容,然后简单地删除不需要的列并清理/调整文件夹名称以匹配数据库中的案例名称。 这将返回一个标准表 (Table1),其中包含以下列:名称、类型和创建日期。所有这些工作正常,我有一个 3 列表,它本质上是目录中案例文件的列表。 第二个查询提取已在数据库中输入的案例名称列表。 Database.CaseNumber和Table1.Name是相同的类型、长度等。我使用 然后,我使用反连接合并这两个,以仅返回数据库中的那些内容,但目录中没有匹配的文件夹。

Merge = Table.NestedJoin(previousStep, {"Name"}, 
     Database, {"CaseNumber"}, "Database", JoinKind.RightAnti

此时 Power Query 返回错误:

Expression.Error: We cannot convert the value "[Table]" to type Table.
Details Value=[Table]
Type=[Type]

它告诉我“删除其他列”步骤,其中我将数据减少到仅需要的列,这是问题所在,但除了上面的错误之外,它没有说明问题所在。

我唯一能说的是,这组相同的步骤在 Power BI 中有效,但在 Excel 中执行完全相同的步骤时则不然。我需要 Excel 版本,因为我想要一份可刷新的报告供另一名员工使用,而她无权访问 Power BI。

对于为什么我在一个应用程序上出现错误而不是在另一个应用程序上出现错误,以及更重要的是如何解决它,有什么想法吗?我广泛搜索了该错误,但无法找到相当相似的根本问题。

excel join typeerror powerquery powerbi-desktop
1个回答
0
投票

提供解决方法,以防其他人偶然发现这篇文章并遇到类似问题。

由于数据的敏感性,我无法提供示例文件,并且创建示例文件将花费太长时间,特别是因为主要构造需要访问基于服务器的文件结构来计算和列出现有文件。

最终我将查询分成两部分。查询 1 (Q1) 访问服务器目录并获取文件内容列表并删除不需要的列,只留下目录中的文件夹列表。

我将 Q1 引用为查询 2 (Q2) 的源,并完成了剩余的清理和数据一致性工作,包括将其与数据库查询 (dB) 合并,以仅返回那些存在数据库条目但不匹配的记录文件夹。

我不确定为什么这可以解决问题,但我知道 Power Query 有时在合并直接连接到数据源的查询时会出现问题。因此,如果您遇到类似的问题,请尝试创建连接,然后在第二个查询中引用该连接来完成剩余的工作。

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