Функция Number.Round не делает то, что я хочу .. Есть ли другой способ сохранить десятичные разряды? - PullRequest
1 голос
/ 24 мая 2019

Я пытаюсь преобразовать текст в число, чтобы умножить его на 1,5, а затем использовать функцию PowerQuery Number.Round (), чтобы сохранить 4 десятичных знака, но впоследствии я не могу оставить ни одного завершающего нуля.

Мне удалось обойти это математически, просто манипулируя текстом с помощью функций Text.Pad, чтобы добавить нули в конце, но это работает не во всех случаях.В некоторых случаях десятичные дроби вообще не сохраняются, а в других - 1 или 2 десятичных знака.

if [EarnCode] <> "02" then [Rate] 
else if [Dept] = " 05" then 13.05 
else Number.ToText(Number.Round(Number.FromText([Rate])*1.5,4))

Я ожидаю, что последний еще поймает все отделы, которые имеют «02», а затем изменит их ставку в 1,5 раза, а затем добавит 4 десятичных знака, но в одном случае, когда показатель равен 14,9он возвращается 22.35.Кажется, что моя функция Number.Round () не сохраняет конечные нули, которые мне нужны, когда я конвертирую число обратно в текст.Как мне их хранить?

1 Ответ

0 голосов
/ 24 мая 2019

Не думаю, что вы хотите использовать функцию округления, чтобы получить конечные нули.Попробуйте вместо этого:

Number.ToText(Number.FromText([Rate])*1.5, "0.0000")

https://docs.microsoft.com/en-us/powerquery-m/number-totext

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...