Как извлечь каждый номер в строку (PowerBI)? - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть столбец свободной формы, который включает цифры и символы. Моя цель - иметь возможность извлекать каждое число в отдельный столбец. Расчетные столбцы или М-код в порядке. Вот пример:

Segment  Notes
1        WO# 1234567 Call Tony @ 623-623-6236 30 prior to arrival
2        Replaced 2 Hoses 7654321
3        Opened WO5674321 on 11/20/2019

В конечном счете мне нужно каждое число в каждом наблюдении в отдельном столбце, например:

Segment  Notes                                                       Num1      Num2          Num3
1        WO# 1234567 Call Tony @ 623-623-6236 30 prior to arrival    1234567   623-692-9493  30
2        Replaced 2 Hoses 7654321                                    2         7654321
3        Opened WO5674321 on 11/20/2019                              5674321   11/20/2019

Если слишком сложно извлечь даты и телефон числа в целом, я могу жить с каждым элементом, входящим в его собственный столбец. Заранее спасибо.

1 Ответ

0 голосов
/ 07 февраля 2020

Есть функция 'is value', которой мы можем воспользоваться.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("LY0xC8IwFIT/yvFcK/a9tClugku3gAgdQoagGQohCakI/fdGEe6m7+POWmLqaDEHsKhh1BOuPkbcc9pxgRZ1/FdD9Sh1zRWvDF/r+vaRXGdJ2sAtlOgf4QnBnLewYdLjoIR/gmqCKSE1vJh28QXICcwn6Vv4TM59AA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Segment = _t, Notes = _t]),
    #"Added Custom" = Table.AddColumn(Source, "Custom", each Text.Combine(List.RemoveNulls(List.Transform(Text.ToList([Notes]),each if Value.Is(Value.FromText(_), type number) or List.Contains({" ", "-", "/"}, _) then _ else null))))

in
    #"Added Custom"

enter image description here

...