我正在尝试使用下面的查询获取文件夹内容,并且还处理错误。但我仍然收到带有警告图标的文本 - “DataSource.NotFound:文件或文件夹:我们找不到文件夹” 请参阅以下M代码:
let
Source = Folder.Files("\\serverpath\Desktop\"),
AlternativeOutput=#table(type table [Name=text,Extension=text,Availability=text], {{"Error", "Error", "Folder not available"}}),
TestForError= try Source,
Output =
if TestForError[HasError] then AlternativeOutput
else Source
在 输出
答案 0 :(得分:0)
这可能是一个错误,这解释了为什么try...otherwise
也不起作用。即使我们收到HasError
错误,DataSource.NotFound
字段也会返回false。我已经提交了一个项目来跟踪这个问题。
答案 1 :(得分:0)
您需要使用Table.Buffer在每次尝试/否则尝试时强制评估Folder.Files
= try Table.Buffer(Folder.Files(path1)) otherwise Folder.Files(path2)
然后,您可以评估多个路径,例如,如果在具有不同登录凭据的不同计算机上使用相同的onedrive帐户,即在一台PC上命名为username,而在另一台计算机(例如,个人计算机,工作计算机)上使用user.name
= let SourceA = try Folder.Files("C:\Users\Username\OneDrive\Documents\"),
SourceB = try Folder.Files("C:\Users\User.name\OneDrive\Documents\"),
DynamicSource = try Table.Buffer(SourceA[Value])
otherwise Table.Buffer(SourceB[Value])
in DynamicSource