Erros
Um erro na linguagem de fórmula do Power Query M é uma indicação de que o processo de avaliação de uma expressão não pôde produzir um valor. Os erros são gerados por operadores e funções que encontram condições de erro ou usando a expressão de erro. Os erros são tratados usando a expressão try . Quando um erro é gerado, um valor é especificado que pode ser usado para indicar por que o erro ocorreu.
Uma expressão try converte valores e erros em um valor de registro que indica se a expressão try manipulou um erro ou não, e o valor adequado ou o registro de erro extraído ao manipular o erro. Por exemplo, considere a seguinte expressão que gera um erro e, em seguida, manipula-o imediatamente:
try error "negative unit count"
Esta expressão é avaliada com o seguinte valor de registro aninhado, explicando as [HasError], [Error]
pesquisas de campo e [Message]
, no exemplo de preço unitário anterior.
[
HasError = true,
Error =
[
Reason = "Expression.Error",
Message = "negative unit count",
Detail = null
]
]
Um caso comum é substituir erros por valores padrão. A expressão try pode ser usada com uma cláusula opcional de outra forma para conseguir exatamente isso em uma forma compacta:
try error "negative unit count" otherwise 42
// equals 42
let Sales =
[
ProductName = "Fishing rod",
Revenue = 2000,
Units = 1000,
UnitPrice = if Units = 0 then error "No Units"
else Revenue / Units
],
//Get UnitPrice from Sales record
textUnitPrice = try Number.ToText(Sales[UnitPrice]),
Label = "Unit Price: " &
(if textUnitPrice[HasError] then textUnitPrice[Error][Message]
//Continue expression flow
else textUnitPrice[Value])
in
Label
O exemplo anterior acessa o campo e formata o valor que produz o Sales[UnitPrice]
resultado:
"Unit Price: 2"
Se o campo Unidades tivesse sido zero, então o UnitPrice
campo teria gerado um erro que teria sido tratado pela tentativa. O valor resultante teria então sido:
"No Units"