Hash160 - Skript- und Diagrammfunktion
Hash160() gibt einen 160-Bit-Hash-Wert der kombinierten Eingabeausdruckswerte zurück. Das Ergebnis ist ein 27-Zeichen-String. Hash-Werte sind nützlich, um personenbezogene Daten wie Kundennamen, Sozialversicherungsnummern oder Kontonummern zu maskieren.
Syntax:
Hash160(expr{, expression})
Rückgabe Datentyp: String
Argument | Beschreibung |
---|---|
expr | Der zu evaluierende String. |
Beispiel | Ergebnis |
---|---|
Hash160( 'abc', 'xyz', '123' ) | Gibt MA&5]6+3=:>;>G%S<U*S2I:`=X* zurück |
Hash160( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
Gibt G7*=6GKPJ(Z+)^KM?<$'AI.)?U$ zurück |
Beispiel – Grundlegendes zu „Hash160“
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
-
Datensatz, der in eine Datentabelle namens Example geladen wird
-
Die folgenden Felder werden verwendet, um einen 160-Bit-Hash-Wert zu erstellen:
-
Region
-
Year
-
Month
-
Ladeskript
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
-
Region
-
Year
-
Month
Erstellen Sie die folgende berechnete Dimension:
-
=Hash160(Region, Year, Month), um den 160-Bit-Hashwert zu berechnen.
Region | Year | Month | Hash160(Region, Year, Month) |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2I:`=X* |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=//_F853 |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZ |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW`@KF+W |
Für jede Zeile werden die Hash-Strings für Region, Year und Month zusammengefügt und ein 27-stelliger String zurückgegeben.
Der folgende Code zeigt, wie Sie die Funktion in einem Ladeskript verwenden können.
Hash_160:
Load *,
Hash160(Region, Year, Month) as Hash160_Region_Year_Month;
Load * inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02 ];
Region | Year | Month | Hash160_Region_Year_Month |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2I:`=X* |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=//_F853 |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZ |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW`@KF+W |
Beispiel – Szenario für „Hash160“ mit duplizierten Einträgen
Übersicht
In diesem Beispiel wird für jeden Produkteintrag ein eindeutiger Hash-Wert erstellt. Der Hash-Wert dient als eindeutiger Identifikator, der es dem Unternehmen ermöglicht, Duplikate effektiv zu erkennen und zu verwalten.
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
-
Datensatz, der in eine Datentabelle namens Example geladen wird
-
Die folgenden Felder in der Datentabelle:
-
TransactionID
- ProductID
-
ProductName
-
SupplierID
-
Ladeskript
Example:
Load *
inline [
TransactionID, ProductID, ProductName, SupplierID
1, 101, Widget A, S001
2, 102, Widget B, S002
3, 101, Widget A, S001
];
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
- TransactionID
-
ProductID
-
ProductName
-
SupplierID
Erstellen Sie die folgende berechnete Dimension:
-
=Hash160(ProductID, ProductName, SupplierID), um einen 27-stelligen Schlüssel zu berechnen.
TransactionID | ProductID | ProductName | SupplierID | Hash160(ProductID, ProductName, SupplierID) |
---|---|---|---|---|
1 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N1Q+*T3 |
2 | 102 | Widget B | S002 | O7(1;V1%MG;Z+A[/H)G5&`6RA0( |
3 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N1Q+*T3 |
Vergleichen Sie die Ausgabe der Funktion Hash160. Beachten Sie, dass der erste und der dritte Datensatz von TransactionID duplizierte Hash-Werte aufweisen, da die Kombination der Strings ProductID, ProductName und SupplierID in diesen Zeilen identisch ist.
Beispiel – Szenario für „Hash160“ zur Anonymisierung von Daten
Übersicht
Ein Unternehmen, das Finanzdienste anbietet, verarbeitet sensible Kundeninformationen wie Kreditkartennummern, Sozialversicherungsnummern und Namen von Kunden. Um die Privatsphäre zu schützen und die Einhaltung von Vorschriften wie der Datenschutz-Grundverordnung (DSGVO) oder des Health Insurance Portability and Accountability Act (HIPAA) zu gewährleisten, müssen sie sensible Daten anonymisieren, wenn sie Berichte für Analysen erstellen. Sie müssen jedoch auch die Konsistenz wahren, damit sie denselben Kunden über verschiedene Datensätze hinweg verfolgen können, ohne die Identität des Kunden preiszugeben.
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
-
Datensatz, der in eine Datentabelle namens Example geladen wird
-
Die folgenden Felder in der Datentabelle:
-
CustomerID
-
CustomerName
-
SSN
-
Ladeskript
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
-
CustomerID
-
CustomerName
-
SSN
Erstellen Sie die folgenden dynamischen Dimensionen:
-
=Hash160(CustomerName)
-
=Hash160(SSN)
CustomerID | CustomerName | SSN | Hash160(CustomerName) | Hash160(SSN) |
---|---|---|---|---|
101 | John Doe | 123-45-6789| | GMD(*B9*!PQ&MTY2@$4A\KCL?[0 | N&[PSH:I$M?OF<5/9LV&N*;`CZ( |
102 | Jane Smith | 987-65-4321 | EP@9]GSI)5G\I*,B?H,C?A$%VG: | HCFXMR'2=\3WF6?_\6LN;.*6:K? |
Datenschutz: Die ursprünglichen sensiblen Daten sind nicht direkt sichtbar, aber der Hash-Wert bleibt über verschiedene Datensätze hinweg konsistent. Dies ermöglicht Analysen wie z. B. die Aggregation von Kundenaktivitäten, ohne die tatsächliche Identität des Kunden preiszugeben.
Einhaltung der Vorschriften: Durch das Hashing sensibler Felder gewährleistet das Unternehmen die Einhaltung der Datenschutzbestimmungen.
Sicherheit: Die Hash-Funktion erzeugt eine Ausgabe mit fester Größe, die nicht umkehrbar ist, wodurch eine zusätzliche Sicherheitsebene zum Schutz sensibler Daten geschaffen wird.