我有一张表,其中包含KPI的月度摘要。客户现在希望能够对原始数据进行调整。我必须允许调整以及保留原始数据。我生成的报告将显示原始数据+或减去任何调整。
以下是我需要做的一个例子。
表A. Report_Month 7/31 KPI_1_QTY 88
客户要求将KPI_1_QTY减少5.这导致KPI_1_QTY为83.我需要报告83但是也必须保留原始值。
有关如何编码的任何想法?
答案 0 :(得分:1)
有许多方法可以解决保持原始数据审计跟踪的一般问题。最简单的是为行加时间戳并包含一个“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