英文:
Power Query Data Source error-handling - skip further steps if an error is encountered
问题
抱歉,由于文本中包含了特定于编程的代码部分,我将只提供非代码的内容翻译。以下是内容的翻译:
Good day
我有一个Power Query查询,它的数据源来自Sql.Database()查询。有时在拉取数据之前会删除核心表格,这会导致出现以下数据源错误:
DataSource.Error: . 引发异常的是IDbCommand接口。 表格:1234_example。Microsoft SQL :Invalid object name 'sqldb-prod.123_outcomes.1234_outcome'. . DataSourceKind =SQL . DataSourcePath =tcp:sqlsvr-prod.public.12345.database.windows.net, 3342;sqldb-reporting-prod . Message =Invalid object name 'sqldb-prod.123_outcomes.1234_outcome'. . ErrorCode =-2146232060 . Number =50000 . Class =16 .
关于此问题,我的问题是是否可以添加一些IF或Try的M代码,以便它只生成一个空结果或空表格,并自动跳过后续的任何转换步骤?
我最不希望的是每天向客户发送一封失败消息的电子邮件(出现错误)。我理解错误并希望在代码中处理它。
非常感谢您提前的帮助。
英文:
Good day
I have a Power Query query that pulls its Source from a Sql.Database() query. Sometimes the core tables are dropped pre-pull which creates a Data Source error as follows:
> <ccon>DataSource.Error: <ccon>Microsoft SQL</ccon>: <ccon>Invalid object name 'sqldb-prod.123_outcomes.1234_outcome'.</ccon>. DataSourceKind = <ccon>SQL</ccon>. DataSourcePath = <ccon>tcp:sqlsvr-prod.public.12345.database.windows.net, 3342;sqldb-reporting-prod</ccon>. Message = <ccon>Invalid object name 'sqldb-prod.123_outcomes.1234_outcome'.</ccon>. ErrorCode = <ccon>-2146232060</ccon>. Number = <ccon>50000</ccon>. Class = <ccon>16</ccon>. </ccon>. The exception was raised by the IDbCommand interface. Table: 1234_example.
My question on this is whether there is some IF or Try otherwise M-code I can add so that it just generates a null outcome or empty table and that it automatically skips any transformation steps thereafter?
The last thing I want is an email to the customer daily with a failure message (error has occurred). I understand the error and would like to handle it in code.
Thanks in advance for the assistance.
答案1
得分: 1
你可以在 try otherwise 中包裹你的语句。下面的代码创建一个空表格。
otherwise
#table({},{})
还有 try...catch 的用法。
https://learn.microsoft.com/en-us/power-query/error-handling
但我不确定这会有多大帮助,因为没有基本表格被加载,而且下游的一切可能仍然会出问题。
英文:
You just wrap your statement in try otherwise. The code below creates an empty table.
try...
otherwise
#table({},{})
There is also try...catch now too.
https://learn.microsoft.com/en-us/power-query/error-handling
I'm not sure how this will help though as no base table will be loaded and everything downstream will still presumably break.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论