Как добавить добавочные строки в Power Query - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть следующая таблица:

ID  Start End
AB  001   020
VG  004   098

Я хочу вывести одну строку серии ID следующим образом:

ID2
AB001
AB002
AB003
...
AB020
VG001
...
VG097
VG098

Я пытаюсь сделать это с помощью Power Queryв Excel, так как я не могу использовать R (инструмент будет использоваться другим человеком без доступа к R).

Я пытаюсь использовать Table.InsertRows и Table.RepeatRows после транспонирования таблицы.Но до сих пор я не могу использовать значения Start / End в моем запросе (количество идентификаторов может отличаться) или даже увеличивать значения.Я довольно новичок в этом, и по сей день работал только с небольшими манипуляциями с функциями GUI.Любой подробный ответ будет высоко оценен.

Спасибо за ваши усилия заранее.

1 Ответ

1 голос
/ 10 апреля 2019

Попробуйте это - он генерирует список от начала до конца для каждой строки, применяет префикс ID, а затем объединяет вывод:

let
    ListFunction = (Start, End, Prefix) =>
        let
            NewList = List.Transform(List.Numbers(Start, End - Start + 1), each Prefix & Number.ToText(_, "000"))
        in
            NewList,
    Source = #table(type table [#"ID"=text, #"Start"=text, #"End"=text],{{"AB","001","020"},{"VG","004","098"}}),
    #"Make Lists" = Table.AddColumn(Source, "NewList", each ListFunction(Number.From([Start]), Number.From([End]), [ID])),
    #"Combine Lists" = Table.FromList(List.Combine(#"Make Lists"[NewList]), Splitter.SplitByNothing(),{"ID2"})
in
    #"Combine Lists"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...