Объявление переменных в функциях Power Query M - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь создать функцию многократного использования в 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 для создания простых функций, подобных этой, но мой реальный пример более сложный, и я хотел бы понять синтаксис M.

1 Ответ

0 голосов
/ 27 июня 2018

Мне удалось решить это самостоятельно после некоторого исследования.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...