Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un error en el lenguaje de fórmulas M de Power Query es una indicación de que el proceso de evaluación de una expresión no pudo generar un valor. Los operadores y las funciones producen errores que encuentran condiciones de error o mediante la expresión de error . Los errores se controlan mediante la expresión try . Cuando se produce un error, se especifica un valor que se puede usar para indicar por qué se produjo el error.
Probar expresión
Una expresión try convierte valores y errores en un valor de registro que indica si la expresión try controló un error, o no, y el valor adecuado o el registro de error que extrajo al controlar el error. Por ejemplo, considere la siguiente expresión que genera un error y, a continuación, la controla inmediatamente:
try error "negative unit count"
Esta expresión se evalúa como el siguiente valor de registro anidado, explicando las [HasError], [Error]búsquedas de campos y [Message] en el ejemplo de precio unitario antes.
Registro de errores
[
HasError = true,
Error =
[
Reason = "Expression.Error",
Message = "negative unit count",
Detail = null
]
]
Un caso común es reemplazar los errores por valores predeterminados. La expresión try se puede usar con una cláusula opcional de lo contrario para lograr solo eso en un formato compacto:
try error "negative unit count" otherwise 42
// equals 42
Ejemplo de error
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
En el ejemplo anterior se obtiene acceso al Sales[UnitPrice] campo y se da formato al valor que genera el resultado:
"Unit Price: 2"
Si el campo Unidades hubiera sido cero, el UnitPrice campo habría generado un error que habría sido controlado por el intento. A continuación, el valor resultante habría sido:
"No Units"