В рамках загрузки данных PowerQuery я хотел бы добавить поле, которое классифицирует некоторые данные по широким группам. Данные, подлежащие классификации, в этом случае представляют собой текст, но начинаются с порядкового номера, например «01 Апельсины», «02 Груши», «06 Капусты», «08 Моркови». Функция должна сгруппировать индексы, скажем, 1-5 в «Фрукты» и 6+ в «Овощи». Хотя я мог бы сделать это с помощью отдельной таблицы поиска и слияния, функция обеспечивает большую гибкость.
Проблема состоит из двух частей; (1) извлечение индекса и (2) составление списка. Я могу создавать функции, чтобы делать это по отдельности, но не понял, как объединить их в одну. Две отдельные функции показаны ниже.
// (1) this function takes the index value of the input text (and has place holders for the second function
let
class = (input) =>
// find the index
let
index = Number.FromText(Text.Start(input, 2))
in
index
// depending on the index, allocate the class
in class
// (2) this function allocates the index to a class
(input) =>
// depending on the index, allocate the class
let band =
{
{(x)=> x <= 5, "Fruit"},
{(x)=> x > 5, "Vegetable"}
},
result = List.First(List.Select(band, each _{0}(input))){1}
in
result
Когда я пытаюсь сложить их вместе, я получаю ошибки Eof и запятой.
// (1) this bit takes the index value of the input text
let
class = (input) =>
// find the index
let
index = Number.FromText(Text.Start(input, 2))
in
index
// depending on the index, allocate the class
// (2) this bit allocates it to a class
class =>
// depending on the index, allocate the class
let band =
{
{(x)=> x <= 5, "Fruit"},
{(x)=> x > 5, "Vegetable"}
},
result = List.First(List.Select(band, each _{0}(input))){1}
in
result
in class
Очень признательна за ваше понимание объединения функций, подобных этой.