Я пытаюсь извлечь десятичные числа из строки. У меня есть рабочее решение, но я думаю, что это можно сделать лучше,
Следующий M-код делает работу,
let
Source = Excel.CurrentWorkbook(){[Name = "Table21"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each List.FindText(Text.Split([Column1]," "),".")),
#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded Custom",{{"Custom", type number}}),
#"Removed Errors" = Table.RemoveRowsWithErrors(#"Changed Type1", {"Custom"})
in
#"Removed Errors"
Но я хочу извлечь десятичные числа из списка
Что я должен добавить перед
List.FindText(Text.Split([Column1]," "),".")
Чтобы извлечь только десятичные числа.
Я хочу извлечь десятичные числа, такие как 8000.8181, 8000.8254 и т.д.
Но ваш код уже делает это?
Да, но мне нужно расширить список, а затем изменить тип данных на десятичный, затем я должен удалить ошибку, чтобы показать ожидаемый результат, поэтому я подумал, что может быть лучший способ сделать это.
@DavidBacci есть ли какой-нибудь M-Code
, который может вытащить отсюда десятичные дроби List.FindText(Text.Split([Column1]," "),".")
или я думаю, что это неправильно?
Я понимаю. Я добавлю ответ.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("nc9PS8MwGMfxt/JjJwU30tik6VEUvGxexNPcYWn+NKVrNU0n+upNN3QrIkohp/D5Js+zXs8SQmguMAcnhCwoEwke7rFy1m+Daxs89xFw3Llut21C7RqLG6Vmm6shTdg1P6WZ+DO9fQT/avM0ndpSSvLJrWB80rpiKAQjJNbF1kP2HaQrPsJ78CeQkYxC+6CNhTWlqYytYGwZzwix4TKCgyptVXW6GwEOH7w+HgTtYZXEHsoYqYIMI5vh7VUj0vhYg71srTkbOYlLDj9dvMRXalcsYFqPp2VOyOUZoyzFanBl2SqNpSt0MxrqKPo6uPnu4OwP99s3+J7k32zzCQ= = ", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each List.RemoveItems ( List.Transform( List.FindText(Text.Split([Column1]," "),"."), each Text.Select(_, {"0".."9", "."})) , {"."}){0}, type number )
in
#"Added Custom"
Что ты имеешь в виду? Вы уже извлекаете только десятичные числа с помощью кода, который у вас есть.