Страницы: 1
RSS
Преобразование "штатки" из 1С в человеческий вид с помощью Power Query
 
Добрый день! Делаю форму для преобразование "штатки" из 1С в нормальный вид. Дошел до шага, где необходимо преобразовать ставку из текстового формата (3/4) в числовой (0,75). Смог сделать это с помощью добавление отдельного столбца
Код
= Table.AddColumn(filter, "Ставка", each Number.From(Text.Start([Количество ставок], 1)) / Number.From(Text.End([Количество ставок], 1)))
но уверен, что можно обойтись и без него. Пытался через функцию Table.ReplaceValue, но что то делаю не так. Подскажите пожалуйста как правильно?
 
Можно так:
Код
= Table.TransformColumns(filter, {{"Количество ставок", each Expression.Evaluate( Text.From( _ ) ), type number}})

Если учесть что столбец и так имеет тип текст, то функцию Text.From можно и опустить.
Изменено: PooHkrd - 31.01.2020 12:30:25
Вот горшок пустой, он предмет простой...
 
PooHkrd, еще одну новую функцию теперь знаю  :)  Большое спасибо)
 
Murderface_, с ней осторожно, там еще второй необязательный аргумент есть. Без него можно вычислять выражения заданные в текстовой форме типа "1+1" или "1/2". Если же в тексте будут использоваться какие-нибудь функции PQ, то нужно будет указывать "пространство" из которого эти имена функций потребуется взять. Для встроенных функций или констант PQ это пространство #shared, для пользовательских функций или переменных это пространство #sections[Section1]. Если в одном текстовом выражении будут использоваться и те функции и другие, то эти пространства нужно объединять.
Изменено: PooHkrd - 31.01.2020 12:42:08
Вот горшок пустой, он предмет простой...
 
PooHkrd, вроде по-русски написано, но ничего не понимаю :D  До пространств я еще не дорос.
Изменено: Murderface_ - 31.01.2020 12:46:11
Страницы: 1
Наверх