【问题标题】:Declaring variables in Power Query M Functions在 Power Query M 函数中声明变量
【发布时间】:2018-06-27 08:51:56
【问题描述】:

我正在尝试在 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 语法。

【问题讨论】:

    标签: powerbi powerquery m


    【解决方案1】:

    经过一番研究,我自己设法解决了。

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-12
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      相关资源
      最近更新 更多