Здравствуйте! Прошу подсказать как корректно написать функцию.
У меня есть запрос, из которого я хочу сделать функцию, которая будет получать "GetDateMin" или "GetDateMax" и выдавать результат в виде даты.
Код
let
Источник = date,
GetDateMin = Date.ToText(Date.From(List.Min(Источник[Дата]))),
GetDateMax = Date.ToText(Date.From(List.Max(Источник[Дата]))),
Результат = GetDateMax
in
Результат
В запросе выше, результат = 23.02.2019
Когда я создаю из запроса функцию:
Код
(aParam as text) =>
let
Источник = date,
GetDateMin = Date.ToText(Date.From(List.Min(Источник[Дата]))),
GetDateMax = Date.ToText(Date.From(List.Max(Источник[Дата]))),
Результат = aParam
in
Результат
и передаю в неё аргумент GetDateMax, то после вызова функции я получаю: GetDateMax.
Даже если "(aParam as text) =>" будет записан как "(aParam) =>", то ничего не меняется.
Вопрос: Какой должна быть функция, чтобы возвращалась дата при передаче в функцию GetDateMax или GetDateMin?
Вот это и есть "затык", который я не пойму как обойти. Для меня странно, почему если я в запросе руками укажу "GetDateMax", то возвращается результат строки "GetDateMax". А когда я делаю это через функцию, то возвращается то, что я отправил (GetDateMax).
Подскажите пожалуйста, какой должна быть функция для возврата даты?
(aParam as text) =>
let
Источник = date,
GetDateMin = Date.ToText(Date.From(List.Min(Источник[Дата]))),
GetDateMax = Date.ToText(Date.From(List.Max(Источник[Дата]))),
Результат = if aParam = "GetDateMin" then GetDateMin else GetDateMax
in
Результат
хотя я бы так написал:
Код
(source, min) =>
let
from = if min = "min" then List.Min(source[Дата]) else List.Max(source[Дата]),
to = Date.ToText(Date.From(from))
in
to