Я должен начать с того, что скажу, что я, вероятно, слишком усложняю это. У меня есть файл, который содержит определенные значения столбцов, которые считаются конфиденциальными данными. В большинстве случаев они будут удалены из любого набора данных, который будет передан или проанализирован. Однако был отправлен запрос на создание набора данных, который позволил бы, среди прочего, пользователю сравнить количество отдельных идентификаторов по сравнению с общим количеством записей. Таким образом, для примерно 140 000 записей мне нужно заменить три столбца, которые считаются защищенными.

Проблема, с которой я сталкиваюсь, заключается в том, чтобы замаскировать 22-символьный буквенно-цифровой идентификатор таким образом, чтобы он больше не идентифицировал, а также поддерживал некоторую видимость взаимосвязи между дублирующимися записями, которые могут существовать.

Другие две колонки, похоже, без каких-либо инцидентов преобразованы после адаптации ответа, который я нашел здесь, для работы с требованиями. Однако более длинный идентификатор по какой-то причине потерял целостность, когда на него была указана та же функция. Я пытался ограничить количество символов, которые менял сразу, но это, похоже, не решило мою проблему.

Конечный результат, который я ищу, или мне сказали, что я должен произвести, - это просто набор необработанных данных. Я не могу выполнить группировку данных для конечного пользователя, они должны получить его таким образом, чтобы каждая строка учитывала одну запись, а затем любой анализ, который они хотели выполнить.

Есть ли лучший способ выполнить то, что я пытаюсь сделать, чем ссылка выше / действительно большой поиск и замена?


Дополнение: Поскольку я не могу на самом деле опубликовать данные, к которым я ищу применение, я подумал, что должен попытаться как-то их воспроизвести, чтобы помочь в любых потенциальных ответах, которые могут быть там.

Предположим, у меня есть эти идентификаторы:

ID VTC DTE

A8894512374516347852001 110 от 9.08.2016

J7763473861247762551000 1180 9.09.2016

Q4523732167498765146000 375 09.08.2016

T6348761321688873431001 703 9/9/2016

H6676314656873346615001 375 9/9/2016

A8894512374516347852001 5091 9/9/2016

T6348761321688873431001 5091 9/9/2016

S8897613515646873143168 375 9/9/2016

Теперь я надеялся найти способ взять экземпляры, такие как записи, которые начинались с "A889", и убедиться, что они оказались вместе, но не остальные. Проблема заключается в том, что при количестве записей (до 170 000) число отдельных идентификационных номеров, вероятно, близко к 120 000, которые необходимо учитывать.

1 ответ1

0

Скажем, у нас есть данные как:

Но возрастная группа считается конфиденциальной. Этот маленький макрос:

Sub HideSensitiveFactor()
    ary = Array("10 - 19", "20 - 29", "30 - 39", "40 - 69", "70 - 200")
    bry = Array("grp1", "grp2", "grp3", "grp4", "grp5")
    Dim rng As Range, i As Long
    Set rng = Range("B:B")

    For i = LBound(ary) To UBound(ary)
        rng.Replace what:=ary(i), replacement:=bry(i)
    Next i
End Sub

будет производить:

Таким образом, тот факт, что столбец представляет возрастные группы , скрыт, но любые статистические группировки будут сохранены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .