Добрый день всем, мне нужна помощь в создании функции для возврата значений в запросе заработной платы.Ниже приведен мой текущий дизайн.
Table Name: Tax
Fields: EffDate(mm/dd/yyyy), Allowance, HSurcharge, NISAllowance, TaxRate.
In the order above this is the current records:
1. 9/1/2016, 60000, 8.25, 70%, 25%
2. 1/1/2017, 72000, 8.25, 70%, 25%
Query Name: Payroll
Fields: EmpName, PeriodEnd, Gross, NIS, HSurcharge, PAYE, NetPay
Expected Results as per the order above:
John Doe, 31/3/18, 7000, 70.40, 8.25, 201, 6720.35
Mary Doe, 31/12/16, 7000, 70.40, 8.25, 487, 6434.35
Проблема заключается в попытке создать выражение или функцию для вычисления PAYE.Paye = (Gross- (Allowance / 12) - (NIS * NISAllowance)) * TaxRate
, но PeriodEnd должен соответствовать EffDate.Например:
9/1/2016 Allowance = $60,000
1/1/2017 Allowance = $72,000
Paye for 31/12/16 = (Gross-(60000/12)-(NIS*NISAllowance))*TaxRate = 201.
Paye for 31/3/18 = (Gross-(72000/12)-(NIS*NISAllowance))*TaxRate = 487.
Таким образом, для любого валового платежа до 1 января 2017 года будет использоваться пособие 60000, для любого валового платежа 1 января 2017 года или после него будет использоваться пособие 72000.