Подготовка данных

Как сохранить исходные данные перед исправлением

Перед исправлением данных нужно сохранить неизменённый оригинал, сделать отдельную рабочую копию и записать каждое изменение с причиной. Тогда можно воспроизвести результат и отличить полученное значение от исправленного.

Три связанных объекта вместо одной перезаписанной таблицы

Оригинал содержит данные ровно в том виде, в каком они были получены. Его не редактируют: это позволяет позднее проверить, какое значение поступило первоначально.

Рабочая копия предназначена для исправлений, приведения форматов и расчётов. Журнал исправлений связывает оригинал и рабочую копию: в нём указывают идентификатор строки, старое и новое значения, причину и правило преобразования.

Такой порядок не означает, что любое изменение верно. Он позволяет увидеть, какое именно допущение повлияло на результат.

Роли файлов или наборов записей
ОбъектНазначениеРедактирование
ОригиналСохранить полученные данныенет
Рабочая копияИсправлять и рассчитыватьда
Журнал исправленийОбъяснять изменениядобавляются новые записи

Учебный пример исправления единицы

Вымышленный фрагмент исходной таблицы содержит строку E-17: длительность «90», а в заголовке полученного файла указана единица «секунды». При переносе в рабочую таблицу значение оставляют числом 90 секунд и для отображения записывают 1:30.

Если в рабочей копии кто-то ранее прочитал это число как 90 минут, исправление состоит не в удалении прошлого следа, а в создании записи журнала: старое толкование «90 минут», новое «90 секунд», причина «единица указана в заголовке исходного файла». Это учебный пример метода, а не утверждение о конкретном протоколе.

Вымышленный журнал исправления
ID строкиСтарое значение в рабочей копииНовое значениеПричина
E-1790 минут90 секунд; отображение 1:30В исходном заголовке единица указана как «секунды»

Последовательность, которая сохраняет воспроизводимость

Сначала фиксируют оригинал и его структуру: названия полей, строки, единицы и источник. Затем создают копию для работы. Каждое исправление выполняют в копии и одновременно вносят в журнал.

Для расчёта следует использовать поле с однозначной единицей. В примере это поле «длительность_секунды» со значением 90, а формат 1:30 служит отображением. Если причина изменения неизвестна, значение не следует самовольно исправлять: его можно пометить как требующее уточнения, не подменяя неизвестное нулём.

  1. Сохранить полученный набор данных без изменений.
  2. Создать отдельную рабочую копию.
  3. Для каждого изменения записать ID строки, прежнее и новое значение, причину и применённое правило.
  4. Проводить расчёты по рабочей копии с явно указанными единицами.
  5. Хранить журнал вместе с рабочей копией, чтобы можно было восстановить путь от оригинала к результату.

Ограничение метода

Журнал делает изменение проверяемым, но не создаёт отсутствующий факт. Если источник не содержит единицу, статус или определение показателя, нельзя достоверно вывести их только из числа.

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

Источники и методика