Страницы: 1
RSS
PQ: преобразование смешанного формата чисел в числовой
 
Добрый день.
Столкнулся с небольшой, как думаю, проблемой. Есть числовые данные, где из-за ошибок ввода часть числовых значений в качестве разделителя целой и дробной части использует не запятую "," а точку "."
Казалось бы решение простое - заменить точку "." на запятую ","
Но при смешанном типе переменной эта операция не работает.

Как вариант решения все необходимые столбца преобразовывал в текстовый тип, осуществлял замену "." на "," и делал преобразование в числовой тип.
Но может оптимальнее вариант решения подскажите?
P.S. Ошибка может встретиться в произвольном числе переменных.
 
Доброе время суток.
Вариант
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    replaced = Table.ReplaceValue(Source, null, null, (s, o, n) =>
    if s is text then
        try Number.From(s, "en-US") otherwise s
    else
        s,
    {"Показатель"}
    )    
in
    replaced

Изменено: Андрей VG - 05.10.2018 08:41:59 (Так будет логичнее)
 
Андрей VG, спасибо!
 
Андрей VG, А не опишите, как это работает для понимания?  Заранее спасибо!
 
Цитата
tdolgiy написал:
как это работает для понимания
А что там не понятного? Table.ReplaceValue принимает 4-ым аргументом функцию с сигнатурой параметров: Значение, ЧтоНайти, НаЧтоЗаменить. Собственно, в качестве такой функции можно использовать не только встроенные, но и собственные функции, в данном случае - анонимная функция.
 
Андрей VG,Спасибо Андрей), но видать до таких формул, мне еще тренироваться и тренироваться - сигнатура параметров и  анонимная функция :cry:  
Страницы: 1
Наверх