Hash256 - script- en diagramfunctie
Hash256() retourneert een 256-bits hashwaarde van de gecombineerde invoerwaarden van de uitdrukking. Het resultaat is een tekenreeks van 43 tekens. Hashwaarden zijn handig voor het maskeren van persoonlijke identificeerbare informatie (PII), zoals klantnamen, burgerservicenummers of rekeningnummers.
Syntaxis:
Hash256(expr{, expression})
Retourgegevenstypen: tekenreeks
Argument | Beschrijving |
---|---|
expr | De tekenreeks die moet worden geëvalueerd. |
Voorbeeld | Resultaat |
---|---|
Hash256( 'abc', 'xyz', '123' ) | Retourneert MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
Hash256( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
Retourneert G7*=6GKPJ(Z+)^KM?<$'AI.)?U$#X2RB[:0ZP=+Z`F: |
Voorbeeld - Basisprincipes voor Hash256
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
-
Een gegevensverzameling die wordt geladen in een tabel met de naam Example.
-
De volgende velden worden gebruikt om een 256-bits hashwaarde te maken:
-
Region
-
Year
-
Month
-
Load-script
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
-
Region
-
Year
-
Month
Maak een nieuwe tabel en voeg de volgende berekende dimensie toe:
-
=Hash256(Region, Year, Month) om de 256-bits hashwaarde te berekenen.
Regio | Jaar | Maand | Hash256(Region, Year, Month) |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=//_F853?BE6'G&,YH*T'MF) |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZT=4\#V`M%6_\0C>4 |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW`@KF+W-0]`[Z8R+#'")=+0 |
Voor elke rij worden de hashtekenreeksen voor Region, Year, en Month samengevoegd en wordt een tekenreeks van 43 tekens geretourneerd.
De volgende code laat zien hoe u de functie in een load-script kunt gebruiken.
Hash_256:
Load *,
Hash256(Region, Year, Month) as Hash256_Region_Year_Month;
Load * inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02 ];
Regio | Jaar | Maand | Hash256_Region_Year_Month |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=//_F853?BE6'G&,YH*T'MF) |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZT=4\#V`M%6_\0C>4 |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW`@KF+W-0]`[Z8R+#'")=+0 |
Voorbeeld - Scenario met hash256 met duplicaten
Overzicht
Dit voorbeeld maakt een unieke hashwaarde voor elke productvermelding. De hashwaarde dient als unieke identificatie, waardoor het bedrijf duplicaten effectief kan opsporen en beheren.
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
-
Een gegevensverzameling die wordt geladen in een tabel met de naam Example.
-
De volgende velden in de gegevenstabel:
-
TransactionID
-
ProductID
-
ProductName
-
SupplierID
-
Load-script
Example:
Load *
inline [
TransactionID, ProductID, ProductName, SupplierID
1, 101, Widget A, S001, 100
2, 102, Widget B, S002, 200
3, 101, Widget A, S001, 50
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
-
Transaction ID
-
ProductID
-
ProductName
-
SupplierID
Maak een nieuwe tabel en voeg de volgende berekende dimensie toe:
-
=Hash256(ProductID, ProductName, SupplierID) om een sleutel van 43 tekens te berekenen.
TransactionID | ProductID | ProductName | SupplierID | Hash256(ProductID, ProductName, SupplierID) |
---|---|---|---|---|
1 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N1Q+*T3K=35VDVQ>>;%+A0] |
2 | 102 | Widget B | S002 | O7(1;V1%MG;Z+A[/H)G5&`6RA0(`%6T?YZQ.+>*&\JF |
3 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N1Q+*T3K=35VDVQ>>;%+A0] |
Vergelijk de uitvoer van de functie Hash256. Merk op dat de eerste en derde TransactionID records dubbele hashwaarden hebben omdat de combinatie van de tekenreeksen ProductID, ProductName en SupplierID hetzelfde zijn voor deze rijen.
Voorbeeld - Scenario met hash256 om gegevens te anonimiseren
Overzicht
Een bedrijf dat financiële diensten verleent, verwerkt gevoelige informatie over klanten, zoals creditcardnummers, burgerservicenummers en namen van klanten. Om de privacy te beschermen en naleving van voorschriften zoals de Algemene verordening gegevensbescherming (AVG) of de Health Insurance Portability and Accountability Act (HIPAA) te garanderen, moeten ze gevoelige gegevens anonimiseren wanneer ze rapporten genereren voor analyse. Ze moeten echter ook consistentie behouden, zodat ze dezelfde klant in verschillende gegevensverzamelingen kunnen volgen zonder de identiteit van de klant te onthullen.
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
-
Een gegevensverzameling die wordt geladen in een tabel met de naam Example.
-
De volgende velden in de gegevenstabel:
-
CustomerID
-
CustomerName
-
SSN
-
Load-script
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
-
CustomerID
-
CustomerName
-
SSN
Maak de volgende berekende dimensies:
-
=Hash256(CustomerName)
-
=Hash256(SSN)
CustomerID | CustomerName | SSN | Hash256(CustomerName) | Hash256(SSN) |
---|---|---|---|---|
101 | John Doe | 123-45-6789| | GMD(*B9*!PQ&MTY2@$4A\KCL?[0@T%D@8C#6&UR8/95 | N&[PSH:I$M?OF<5/9LV&N*;`CZ((X'"9Y2FKJC6W04[ |
102 | Jane Smith | 987-65-4321 | EP@9]GSI)5G\I*,B?H,C?A$%VG:SL#6I>Q1:L<0O7UW | HCFXMR'2=\3WF6?_\6LN;.*6:K?Y:%MZ#*PP]WI`YS< |
Privacy van gegevens: de oorspronkelijke gevoelige gegevens zijn niet direct zichtbaar, maar de hashwaarde blijft consistent in verschillende records. Dit maakt analyse mogelijk, zoals het aggregeren van klantactiviteit, zonder de werkelijke identiteit van de klant prijs te geven.
Naleving: door gevoelige velden te hashen, zorgt het bedrijf ervoor dat de privacyregels worden nageleefd.
Beveiliging: de hashfunctie produceert een uitvoer met een vaste grootte die niet omkeerbaar is, en voegt zo een extra beschermingslaag toe voor gevoelige gegevens.