использовать абсолютное значение при делении отрицательного числа - PullRequest
0 голосов
/ 28 января 2020

У меня есть поиск сохраненных транзакций, в котором у меня есть несколько столбцов формул для отображения количеств, сгруппированных по позициям, когда типы транзакций: Ca sh Продажа и (Ca sh возврат или Кредитовое авизо). Сейчас я пытаюсь добавить другой столбец формулы, чтобы разделить возвращаемые количества на объемы продаж, используя приведенную ниже формулу, но получаю сообщение об ошибке «ОШИБКА: возможное деление на ноль». Я считаю, что проблема заключается в том, что NetSuite ссылается (-) на отрицательные возвращаемые количества, и мне нужно выяснить, как заставить его вычислить эту формулу, используя абсолютное значение без (-) минус. Я пытался подать в суд на функцию абсолютного значения сохраненного поиска, но затем все ошибки поиска. Возможно ли это с помощью выражения case?

Формула: случай, когда {type} = 'Ca sh Refund' или {type} = 'Credit Memo' THEN {количество} ELSE 0 END / (Случай, когда {type} = 'Ca sh Продажа 'или {type} =' Счет-фактура 'THEN {количество} ELSE 0 END)

Ответы [ 2 ]

1 голос
/ 28 января 2020

Как правило, вы можете избежать проблем деления на ноль, если заключите делитель в функцию NULLIF ():

Case when {type} = 'Cash Refund' or {type} = 'Credit Memo' THEN {quantity} ELSE 0 END/NULLIF((Case when {type} = 'Cash Sale' or {type} = 'Invoice' THEN {quantity} ELSE 0 END), 0)
0 голосов
/ 29 января 2020

Используйте ABS () для преобразования отрицательных значений в положительные.

ABS (-4) возвращает 4.

Попробуйте это, ABS (return_qty) / ABS (sales_qty)

И использовать Nullif (,), чтобы избежать ошибки деления на ноль.

...