Power Query Excel 如何跳过 Expression.Error

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

我收到 Expression.Error:枚举中没有足够的元素来完成操作。

M代码如下所示:

results = Sourcea[results],
#"Converted to Table" = Table.FromList(results, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", 
                      Record.FieldNames(#"Converted to Table"{0}[Column1]),
                      Record.FieldNames(#"Converted to Table"{0}[Column1])),

一切都很完美,直到我的结果返回为空。结果来自 JSON API Get 调用。错误出现在 Expanded Column1 步骤上,这是因为该函数动态扩展列,因此它适用于任何形状数据集。如果表为空,则最后一行的函数无法枚举。

当结果为空并且只在我的表/输出中返回“未找到结果”或类似内容时,有没有办法避免此错误?即使只是一张空白表格就足够了。

excel powerbi powerquery m
1个回答
2
投票

您可以在扩展之前计算表的行数,并且仅当行数 > 0 时才这样做。比如:

#"Expanded Column1" = if Table.RowCount(#"Converted to Table") > 0 then 
                      Table.ExpandRecordColumn(#"Converted to Table", "Column1", 
                      Record.FieldNames(#"Converted to Table"{0}[Column1]),
                      Record.FieldNames(#"Converted to Table"{0}[Column1])) 
                      else null,

或者,您可以将语句包装在 try 中,如下所述:https://learn.microsoft.com/en-us/power-query/error-handling

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