📜  Power BI 中的 TRY M 命令 (1)

📅  最后修改于: 2023-12-03 15:18:40.074000             🧑  作者: Mango

Power BI 中的 TRY M 命令

简介

在 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 命令不应被用来隐藏不正确的代码。它应该被视为一个处理异常情况的工具。

  • 备选结果应该是一种合理的替代方法,而不仅仅是简单的错误消息或占位符。