Я занимаюсь этим около 2 часов. Я пытаюсь рассчитать процентное изменение между двумя суммами. Вот текущий код.
RejectedVsSubmittedSum = ((CASE WHEN COUNT(ClaimMain.ClaimNumber) > 0 THEN SUM(PCover.SumAssured) END
-ISNULL(SUM(CASE ClaimMain.CurrentStatus WHEN 25 THEN PCover.SumAssured END),0))
/NULLIF(SUM(CASE ClaimMain.CurrentStatus WHEN 25 THEN PCover.SumAssured END),0))
* 100
Эта строка возвращает 225000.
CASE WHEN COUNT(ClaimMain.ClaimNumber) > 0 THEN SUM(PCover.SumAssured) END
Эта строка возвращает 25000.
ISNULL(SUM(CASE ClaimMain.CurrentStatus WHEN 25 THEN PCover.SumAssured END),0)
Подразделение.
NULLIF(SUM(CASE ClaimMain.CurrentStatus WHEN 25 THEN PCover.SumAssured END),0)
Тогда я раз на 100.
Итак, 225000 - 25000/25000 * 100 возвращает 800 . Это то, что я возвращаю, но на основании этого сайта http://www.percent -change.com / index.php? Y1 = 225000 & y2 = 25000 мой результат неверный, и я должен возвращать -88,88888888%.
У меня нет реального опыта выполнения этих вычислений в SQL, поэтому я предполагаю, что веб-сайт правильный. Кто-нибудь может увидеть, действительно ли я делаю что-то не так?
Я уже просил это Рассчитать процент между двумя значениями , но сейчас я использую другой набор чисел, теперь я использую суммы денег, а не просто счет. Я пытался использовать ту же логику (потому что это имело смысл), но, похоже, я возвращаю неправильный результат.