在 Power Query M 函数中声明变量
Declaring variables in Power Query M Functions
我正在尝试在 Power Query 中创建一个可重复使用的函数,它将被多个表使用。
这很好用(写在空白查询中):
let
is_emergency = (color as text) =>
if color = "red" or color = "orange" then
"emergency"
else
"not emergency"
in
is_emergency
我可以使用像这样的自定义列来调用它 =emergency([color_column])
。
但是 - 我的颜色列包含很多额外的空格,所以我需要以某种方式在颜色参数上调用 Text.Trim()
。这个怎么写?
我认为可行的是只写这个:
let
is_emergency = (color as text) =>
color = Text.Trim(color, " "),
if color = "red" or color = "orange" then
"emergency"
else
"not emergency"
in
is_emergency
但这给了我错误 Token Literal Expected
。
怎么写才合适?我知道我可以使用 Power Query GUI 来创建像这样的简单函数,但我的实际情况更高级,我想了解 M
语法。
经过一番研究,我设法自己解决了。
let
is_emergency = (color as text) =>
// you need to put the variable declaration inside a new let - in
let
trimmed_color = Text.Trim(color, " "),
// you also need to define the return value and return it in the new let - in
return_value = if trimmed_color = "red" or trimmed_color = "orange" then
"emergency"
else
"not emergency"
in
return_value
in
is_emergency
我正在尝试在 Power Query 中创建一个可重复使用的函数,它将被多个表使用。
这很好用(写在空白查询中):
let
is_emergency = (color as text) =>
if color = "red" or color = "orange" then
"emergency"
else
"not emergency"
in
is_emergency
我可以使用像这样的自定义列来调用它 =emergency([color_column])
。
但是 - 我的颜色列包含很多额外的空格,所以我需要以某种方式在颜色参数上调用 Text.Trim()
。这个怎么写?
我认为可行的是只写这个:
let
is_emergency = (color as text) =>
color = Text.Trim(color, " "),
if color = "red" or color = "orange" then
"emergency"
else
"not emergency"
in
is_emergency
但这给了我错误 Token Literal Expected
。
怎么写才合适?我知道我可以使用 Power Query GUI 来创建像这样的简单函数,但我的实际情况更高级,我想了解 M
语法。
经过一番研究,我设法自己解决了。
let
is_emergency = (color as text) =>
// you need to put the variable declaration inside a new let - in
let
trimmed_color = Text.Trim(color, " "),
// you also need to define the return value and return it in the new let - in
return_value = if trimmed_color = "red" or trimmed_color = "orange" then
"emergency"
else
"not emergency"
in
return_value
in
is_emergency