📅  最后修改于: 2023-12-03 15:18:40.074000             🧑  作者: Mango
在 Power Query Editor 中,M 语言( Power Query Formula Language)常常被用来转化和操作数据。TRY M 命令是 M 语言中的一种特殊情况,它允许你在 Power Query Editor 运行代码时捕捉异常。如果 TRY M 命令成功,它将返回计算结果。如果在执行代码时出现异常,TRY M 命令将会返回错误消息。
TRY M 命令可以用于不同的场景。以下是 TRY M 命令的基本语法:
= try expression otherwise alternateResult
其中,expression 是一个 M 语言代码块,而 alternateResult 是一个备选结果, 即在执行 expression 时出现异常时要返回的结果。expression 代码块中可能包含需要处理异常情况的语句,例如 Division by Zero 错误或 Type Mismatch 错误。
以下是一个演示称重计算的实例。此实例包含3个列:名称,重量和数量。
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMTkzNjI0FFSwqC3UotpOyUipWJgkjJRSU1CQjI2hrZ0AA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Name = _t, Weight = _t, Quantity = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Weight", Int64.Type}, {"Quantity", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Total Weight",
try ([Weight] * [Quantity]) otherwise 0),
#"Renamed Columns" = Table.RenameColumns(#"Added Custom", {{"Total Weight", "TotalWeight"}})
in
#"Renamed Columns"
在此示例中,TRY M 命令用于防止由于重量和数量列中的错误输入导致的异常。如果TRY M 命令无法运行,它将返回备选结果 0。
使用 TRY M 命令时,请注意以下事项:
TRY M 命令不应被用来隐藏不正确的代码。它应该被视为一个处理异常情况的工具。
备选结果应该是一种合理的替代方法,而不仅仅是简单的错误消息或占位符。