//#########################################################################################// /* ------------------------------------------------------------------- Name : Anon_Resampling ---------------------------------------------------------------------- Original Rule : Replace with other values from the same domain: 1 - Table Name 2 - Field Name -------------------------------------------------------------------*/ SUB Anon_Resampling (P_TABLENAME , P_FIELDNAME) TRACE ##################################################; TRACE ## Starting Function : Anon_Resampling ##; TRACE ## Anonymizing Field : $(P_FIELDNAME) #; TRACE ##################################################; //---------------------------------------// [DistinctValues]: Load Distinct [$(P_FIELDNAME)] as [OldDistinctValue], RowNo() as [RowID], Rand() as [Random] Resident $(P_TABLENAME); [AnonDistinctMapping]: Mapping Load RowNo(), [OldDistinctValue]; Load [OldDistinctValue], [Random] Resident [DistinctValues] Order By [Random]; [AnonDistinctValues]: LOAD *, ApplyMap('AnonDistinctMapping',RowID,'Anon_Error') as [NewDistinctValue] Resident DistinctValues; Drop table DistinctValues; [AnonMapping]: Mapping Load [OldDistinctValue], [NewDistinctValue] Resident [AnonDistinctValues]; Drop table AnonDistinctValues; [AnonValues]: LOAD *, ApplyMap('AnonMapping',[$(P_FIELDNAME)],'Anon_Error') as [Anon_$(P_FIELDNAME)] Resident $(P_TABLENAME); Drop table $(P_TABLENAME); Rename table AnonValues to $(P_TABLENAME); END SUB //#########################################################################################//