- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:個人情報の入った顧客データを匿名データにつくりかえる方法(アクセス、エ)
個人情報の入った顧客データを匿名データにつくりかえる方法
このQ&Aのポイント
- 個人情報を含む顧客データを匿名化する方法を解説します。
- 匿名化された顧客データには個人IDと氏名の列が削除され、新しい匿名IDが割り当てられます。
- 匿名データから元のデータに戻る可能性を限りなく消すため、新しい匿名IDには通し番号の要素が含まれません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
名前は全部*にするんでしょうね。 IDはGetTickCountかQueryPerformanceCounterの 返してきた値を使うでしょうか。これは昇順になる ことが分かっているものですし、実行する度に違う 値が返ります。
お礼
nda23さん、k_kotaさん、layyさん ご回答ありがとうございました。 しかしながら、 私にとっては扱いなれない手法であったので 今回は、採用いたしませんでした。 (1)違うIDには必ず違う番号がつく (同じになる確率は、厳密にゼロでなくてはならない) (2)実IDと匿名IDの結びつき方に規則性があってはならない (匿名IDから実名IDに戻る関数が存在しない=当初の変換テーブルがない限り、実IDと匿名IDを結びつける理論的手段がない) という条件が必須です。 そうした意味で、可能性のあるのは nda23さん の手法かと、存じましたので、この回答をベストアンサーにさせていただきます。 さて、私が実際にやった手法は次のようなものでした。 (0)テーブルをエクセルにコピーする(50,000行は可能でした)。 (1)個人IDの一覧表をつくる(ピボットテーブルを使う)。 (2)エクセルに移し =rand()関数で、各IDにひとつ乱数を割り振る。 (3)乱数を固定して(形式貼り付け-値貼り付けで、同じところに貼り直す)、乱数の値で昇順にならべかえる(仮に同じ乱数があっても、強制的に順序がつくので、上記(1)が満たされる)。 (4)この結果に上から、1、2、3、・・・と番号をふる。 -これが先述した「当初の変換テーブル」になる。 (5)vlookup関数を使って、もともとのレコードのIDを検索値にして、変換テーブルをもとに匿名IDを各レコードに返す。