Таблица корректировки KPI - PullRequest
0 голосов
/ 29 июля 2010

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

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

Таблица A Report_Month 7/31 KPI_1_QTY 88

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

Есть идеи о том, как кодировать это?*

1 Ответ

1 голос
/ 29 июля 2010

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

Например:

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

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

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

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

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

FactID ModifiedBy ModifiedOn ValueDelta Description
2      Fred       8/1       -5          Adjusted KPI_1_QTY per customer request
...