我的 Excel 工作簿中有一个 PowerQuery,它尝试使用 ODBC 驱动程序连接到外部 DataBricks Photon 数据仓库解决方案。查询会删除工作表中已有的数据,然后尝试使用查询结果数据填充工作表。
但是,有时可能会出现由于 VPN 连接问题而无法访问数据仓库的情况。 PowerQuery 将失败并显示错误“
We couldn't authenticate with the credentials provided. Please try again
”。我希望能够以某种方式捕获此异常,以仍然确保工作表被清除,以确保我的最终用户没有使用任何过时的数据。
无论与数据仓库的连接是否成功,任何其他允许我清除给定工作表内容的解决方案也可以。
理想的解决方案是这样的:
let
bar = Excel.CurrentWorkbook(){[Name="foo"]}[Content],
rows_removed = Table.FirstN(bar,0),
calculated_columns_removed = Table.RemoveColumns(rows_removed,{"FR", "SA", "SU", "MO", "TU", "WE", "TH"})
query_result = Odbc.Query("dsn=Simba Spark", query_str),
test_for_error = try query_result,
recover = if test_for_error[HasError] then calculated_columns_removed else query_result
in
recover
任何帮助将不胜感激!
我尝试了下面的代码块,以便在出现连接错误时为我提供一个空表,但无法捕获连接错误。
我认为这会起作用
recover = try query_result otherwise calculated_columns_removed
in recover