Прошу помочь со следующим вопросом: в запросе PQ есть столбец с числами, нужно создать доп.столбец , который будет дописывать 00 если 1 сивмол - 5 и 005; 0, если 2 символа 50 и 050; и если символов больше, то ничего не дописывать, брать как есть без изменений. В Excel формулу сделал, но не получается переделать для PQ. При использовании функции Text.Length выдает ошибку "Expression.Error: Не удается применить доступ к полям в типе Function. Сведения: Value=Function Key=Имеющиеся данные"
Пример во вложении. Windows 10, Office 2016. С уважением, Lari.
sanych09 написал: нужно аргумент фунции в скобках прописывать
И чем это поможет, если значение число, а не текст? Power Query не занимается автоматическим приведением типов. Lari, проверяете, раз у вас смесь чисел и текста в столбце на число [Имеющиеся данные] is number и используете функцию преобразования числа в текст с форматированием Number.ToText
P. S. Lari, может всё же стоит начать изучать справочник по функциям Power Query?
Андрей VG, добрый день это поможет автору поста. Задачу он своим методом решил в Excel путем написания формулы типа: если Длина текста > 1 (символа), то "00"& Столбец. (опеределние двузначных и т.д чисел) я лишь помог с синтаксисом, а дальше я так понимаю, Lari, сделает по аналогии.
Цитата
Lari написал: При использовании функции Text.Length выдает ошибку
Какие типы данных в столбце, это другой вопрос, как Вы правильно заметили
Опыт и практика - великое дело! Век живи, Век учись!
Доброго времени суток! sanych09, спасибо за помощь, Ваш совет помог мне. Андрей VG, спасибо за функцию, о ней не знал, переводил числа в текст на этапе загрузки в PQ через "Преобразование" - Тип данных -Текст.
Цитата
Андрей VG написал: P. S. Lari , может всё же стоит начать изучать справочник по функциям Power Query?
Прежде чем написать сюда я в нем собственно нашел первую часть моей формулы, правда не смог использовать пока sanych09, не помог.
Вторую часть формулы тоже попытался разобрать combiner-functions, но как-то не смог адаптировать под свою задачу, в итоге воспользовался амперсандом. Итоговая формула получилась
Код
if([Имеющиеся данные]) is null then""
else if([Пользовательская])>2 then [Имеющиеся данные]
else if([Пользовательская])>1 then "0"&[Имеющиеся данные]
else "00"&[Имеющиеся данные])
PooHkrd, как элегантно и функционально. Круто, спасибо! Андрей VG, вот даже сейчас прочитав про использованную PooHkrd, формулу text-from в справочнике не особо становится понятнее.
А что конкретно не понятно? Функцию нужна для преобразования типов значений в тип Текст. Ибо, в отличие от Excel и Power Pivot, PQ не делает неявных преобразований типов, и если вы попытаетесь сцепить
Код
[число] & [дата]
, то PQ выдаст сообщение об ошибке, а вот если оба аргумента заключить в функцию
PooHkrd, теперь понятно, сначала корректно соединяет, а потом по принципу формулы excel ПРАВСИМВ оставляет необходимую часть. Спасибо за разъяснение. С уважением Lari.