Исходя из EXCEL , вы можете получить свое решение, предполагая, что ваши записи в последовательности для столбцов Год , Зарплата , Сотрудник & Оценка .
Добавьте еще один столбец, чтобы определить, есть ли повышение оценки для данного конкретного Период расчета .
![add column](https://i.stack.imgur.com/Y1BSU.png)
Для ячейки Excelдля справки, " Год " находится в ячейке A1
Установите формулу 1-й ячейки этого столбца на false
Для следующей ячейки в этом новом столбце установите ее следующим образом: ![formula for checking grade increase](https://i.stack.imgur.com/IapM1.png)
Вышеприведенные проверки проверяют, есть ли повышение оценки для данного конкретного Период платежной ведомости .
Объяснение формулы в последовательности таково: 1. Check if year same (A3=A2)
, 2. Check if Payroll Period is different(B3<>B2)
, 3. Check if Employee is the same (C3=C2)
и, наконец, 4. Check if there is a change in grade (D3=D2)
.
Скопируйте эту формулу до остального диапазона.
![fill formulas](https://i.stack.imgur.com/7LwiZ.png)
Далее , вы можете начать с pivot .
Добавить вашу сводную таблицу из вашей таблицы / диапазона с помощью следующего![pivot fields](https://i.stack.imgur.com/2jrCV.png)
Фильтр Grade Increase
на true
, а также изменение агрегации значений Employee
с Sum
на Count
.
Вы получите следующее:
![pivot table](https://i.stack.imgur.com/HmIjB.png)
Я бы переименовал Count of Employees
, чтобы сделать его более значимым.
Одно предостережение для вышеупомянутого подхода состоит в том, что если оценка была повышена в начале 1-го Payroll Period
года, это увеличение не будет зафиксировано.Для этого вы можете удалить проверку года из формулы A3 = A2 .
Редактировать:
Провести небольшое исследование, возможно, вы можете сделать
select t1.*, (t1.Grade > t2.Grade) as Grade_Increase
from YourTableName t1 left join YourTableName t2 on
t1.Employee = t2.Employee and
(((t1.Year - 2018)*26) + t1.Payroll_Period) =
(((t2.Year - 2018)*26) + t2.Payroll_Period - 1) -- -1 to get the prior record to compare grades
То, что сделано выше, по существу объединяет таблицу с самим собой.
Записи, которые являются «следующими в последовательности», объединяются в одну строку.И сравнение сделано.
Это не было проверено в Access.
Замените 2018
на ваш базовый год.Я использую 2018
для вычисления порядкового номера записей.Сначала я подумал об использовании общих табличных выражений, rank и row_number.Но доступ, кажется, не поддерживает эти функции.