Таблица корректировки KPI

У меня есть таблица с ежемесячной сводкой KPI. Теперь клиент хочет иметь возможность вносить коррективы в исходные данные. Я должен учесть корректировки, а также сохранить исходные данные. Отчет, который я создаю, покажет исходные данные + или минус любые корректировки.

Вот пример того, что мне нужно сделать.

Таблица A Отчет_Месяц 7/31 KPI_1_QTY 88

Клиент просит уменьшить KPI_1_QTY на 5. Это приводит к тому, что KPI_1_QTY равняется 83. Мне нужно сообщить 83, но я должен также сохранить исходное значение.

Любые идеи о том, как закодировать это?

1 ответ

Существует несколько способов решения общей проблемы хранения контрольных записей исходных данных. Самое простое - это поставить метку времени в строке и включить битовое поле "IsHead".

Например:

FactID Timestamp Attribute Value IsHead
2      8/1       KPI_1_QTY 83    true
1      7/31      KPI_1_QTY 88    false

Если вы хотите "головную" ветвь данных, вы фильтруете по IsHead = true (обычно вы создаете представление для этого).

Если вы хотите журнал изменений, вы отобразите все строки в порядке убывания по метке времени.

Если вы хотите, чтобы данные существовали в определенный момент времени, вы реконструируете данные, которые существовали на эту дату (оставленные в качестве упражнения для читателя).

Если есть свойства, связанные с корректировкой, создайте другую таблицу с полями, которые необходимо описать для изменения. Например...

FactID ModifiedBy ModifiedOn ValueDelta Description
2      Fred       8/1       -5          Adjusted KPI_1_QTY per customer request
Другие вопросы по тегам