Я успешно рассчитываю среднемесячный среднемесячный отпуск для сотрудника на основе начала и окончания года в этом случае в 2013 году. Однако, когда начинается сотрудник после начала года их средние значения должны начинаться с даты найма. Мне нужно выяснить, как рассчитать средний показатель за 12 месяцев для сотрудника, который нанимает дату начала работы после начала года.12 Месяц за месяц, за исключением случаев, когда дата найма больше начала года
Вот мой текущий запрос до сих пор:
DECLARE @begDt DATETIME, @endDt DATETIME
SET @begDt = DATEADD(YEAR, DATEDIFF(YEAR, 0,DATEADD(YEAR, -1, GETDATE())), 0)
SET @endDt = DATEADD(MILLISECOND, -3, DATEADD(YEAR, DATEDIFF(YEAR, 0, DATEADD(YEAR, -1, GETDATE())) + 1, 0))
select
[Account Executive] = v.Name_AccountExecutive
, [YTD Production] = cast(sum (case when v.Process_FundingDt between @begDt and @endDt then v.Loan_LoanAmt else 0 end) as int)
, [Monthly Average] = cast(sum (case when v.Process_FundingDt between @begDt and @endDt then v.Loan_LoanAmt else 0 end)
/(case when @begDt = '1/1/2012' then
case when v.Name_AccountExecutive = 'HIEB, BRANDON' then 7 when v.Name_AccountExecutive = 'AMORATI, KAREN' then 8 else 12 end
else (datepart(m, @endDt)) end) as int)
from LOS.LoanView v
group by v.Name_AccountExecutive
Если Боб нанят 2 марта 2012 года, должен ли он быть средним на 2 марта 2012 года по 31 декабря 2012 года или до 1 марта 2013 года? – lins314159
Это должно быть до конца года, так как я понимаю, что он строит отчет. – ApplePie
lins314159, правильный. Запрос, который я опубликовал, рассчитан на год. Так что, если Боб нанят 2 марта 2013 года, его средний возраст будет с 3/2/2013 по 31 мая 2013 года (сегодня). –