Код не рассчитывается правильно Cast / NullIF - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь вычислить эффективность станков с ЧПУ. Мой код не рассчитывается правильно. Я не уверен почему. Например, значение Completed равно 2. PPHOURGOAL равно 1. 8 - для 8-часовой смены.

cast(((Completed / 8) /NULLIF(Completed,0) / (PPHOURGOAL  * 8) )* 100 as dec(5,4))  as EightHourShiftEfficiency,   ---Divide the previously calculated production rate by the maximum rate and multiply by 100 to calculate the efficiency rate.

Расчет должен быть как ((2/8)/(1*8))*100 = 2. Который должен перевести на ((.25)/(8))*100=2

Но система возвращает 1.5625.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Нашли ошибку моих путей.Мое утверждение select удваивало строки, что приводило к отключению моих вычислений.

0 голосов
/ 19 июня 2019

Я предполагаю, что целочисленное деление является виновником.Делает ли это то, что вы хотите?

cast(((Completed / 8.0) /NULLIF(Completed, 0.0) / (PPHOURGOAL * 8.0) ) * 100.0 as dec(5, 4)) as E
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...