Я нахожусь в процессе создания демонстрационных данных из данных, которые содержат информацию об истории болезни пациента (PHI). Есть несколько столбцов, в которых я просто хочу сгенерировать случайное значение, которое остается постоянным во всех данных. Например, есть поле типа SSN, в котором я хочу создать случайную цифру из 9 цифр для каждого уникального номера SSN, но оставить это число таким же, когда заявки принадлежат одному и тому же человеку. Таким образом, 1 SSN может иметь 5 заявок, и каждая заявка будет иметь один и тот же случайно созданный SSN.
образец
ssn date1 procedure
443234432 1/1/2019 needle poke
443234432 1/2/2019 needle poke
676343522 1/3/2019 total knee procedure
443234432 1/4/2019 total hip procedure
676343522 1/5/2019 needle poke
финал
ssn date1 procedure
856345544 1/1/2019 needle poke
856345544 1/2/2019 needle poke
979583338 1/3/2019 total knee procedure
856345544 1/4/2019 total hip procedure
979583338 1/5/2019 needle poke
Как вы можете видеть, snn изменился, но остался прежним для всех случаев, когда ssn был одинаковым.
Для чисел, подобных этому, я могу преобразовать в числовое значение и умножить / разделить / сложить / вычесть, чтобы создать случайное число, сохраняющее целостность, но как я могу справиться с этим для случаев, когда есть нечисловые значения?
Я пытался использовать ХЭШБИТЫ, но получаю много странных персонажей. Есть ли другой метод, который мог бы генерировать случайное значение и поддерживать согласованность всего набора данных?
RIGHT(convert(NVARCHAR(10), HASHBYTES('MD5', SSN)),10) as SSN
RESULTS:
댛량뇟㻣砖聋蠤
Я прочитал несколько статей по этому поводу, но я не смог найти много о том, как поддерживать согласованность нескольких заявлений. Я ценю любые отзывы.