Hash160 funkcja skryptu i funkcja wykresu
Funkcja Hash160() zwraca 160-bitową wartość skrótu połączonych wartości wyrażenia wejściowego. Wynik jest ciągiem 27 znaków. Wartości skrótu przydają się do maskowania danych osobowych, takich jak imiona i nazwiska klientów, numery ubezpieczenia społecznego lub numery kont.
Składnia:
Hash160(expr{, expression})
Typ zwracanych danych: ciąg znaków
| Argument | Opis |
|---|---|
| expr | Ciąg znaków do oceny. |
| Przykład | Wynik |
|---|---|
| Hash160( 'abc', 'xyz', '123' ) | Zwraca wartość MA&5]6+3=:>;>G%S<U*S2I:`=X* |
|
Hash160( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
Zwraca wartość G7*=6GKPJ(Z+)^KM?<$'AI.)?U$ |
Przykład — podstawy Hash160
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.
Skrypt ładowania zawiera:
-
Zestaw danych załadowany do tabeli o nazwie Example.
-
Następujące pola, które zostaną użyte w celu utworzenia 160-bitowej wartości skrótu:
-
Region
-
Year
-
Month
-
Skrypt ładowania
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
-
Region
-
Year
-
Month
Utwórz następujący wymiar wyliczany:
-
=Hash160(Region, Year, Month) do obliczenia 160-bitowej wartości skrótu.
| Region | Rok | Miesiąc | 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 |
W przypadku każdego wiersza ciągi skrótu Region, Year i Month są połączone i jest zwracany ciąg 27-znakowy.
Poniższy kod pokazuje, jak użyć tej funkcji w skrypcie ładowania.
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 | Rok | Miesiąc | 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 |
Przykład — zastosowanie Hash160 z duplikatami wpisów
Przegląd
W tym przykładzie jest tworzona unikatowa wartość skrótu dla każdego wpisu produktu. Wartość skrótu służy jako unikatowy identyfikator, umożliwiając firmie skuteczne wykrywanie duplikatów i zarządzanie nimi.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.
Skrypt ładowania zawiera:
-
Zestaw danych załadowany do tabeli o nazwie Example.
-
Tabela zawiera następujące pola:
-
TransactionID
- ProductID
-
ProductName
-
SupplierID
-
Skrypt ładowania
Example:
Load *
inline [
TransactionID, ProductID, ProductName, SupplierID
1, 101, Widget A, S001
2, 102, Widget B, S002
3, 101, Widget A, S001
];Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
- TransactionID
-
ProductID
-
ProductName
-
SupplierID
Utwórz następujący wymiar wyliczany:
-
=Hash160(ProductID, ProductName, SupplierID) do obliczenia klucza 27-znakowego.
| 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 |
Porównaj dane wyjściowe funkcji Hash160. Zauważ, że pierwszy i trzeci rekord TransactionID mają zduplikowane wartości skrótu, ponieważ kombinacja ciągów ProductID, ProductName i SupplierID jest taka sama dla tych wierszy.
Przykład — zastosowanie Hash160 do anonimizacji danych
Przegląd
Firma świadcząca usługi finansowe posługuje się poufnymi informacjami o klientach, takimi jak numery kart kredytowych, numery ubezpieczenia społecznego oraz imiona i nazwiska klientów. Aby chronić prywatność i zapewnić zgodność z przepisami, takimi jak Ogólne rozporządzenie o ochronie danych osobowych (RODO) czy amerykańska Ustawa o przenośności i odpowiedzialności w ubezpieczeniach zdrowotnych (HIPAA), musi anonimizować wrażliwe dane podczas generowania raportów do analizy. Musi też jednak zachować spójność, aby móc śledzić tego samego klienta w różnych zestawach danych bez ujawniania jego tożsamości.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.
Skrypt ładowania zawiera:
-
Zestaw danych załadowany do tabeli o nazwie Example.
-
Tabela zawiera następujące pola:
-
CustomerID
-
CustomerName
-
SSN
-
Skrypt ładowania
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
-
CustomerID
-
CustomerName
-
SSN
Utwórz następujące wymiary wyliczane:
-
=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? |
Prywatność danych: oryginalne wrażliwe dane nie są bezpośrednio widoczne, ale wartość skrótu pozostaje spójna w różnych rekordach. Pozwala to na przeprowadzanie analiz, takich jak agregacja aktywności klienta, bez ujawniania jego rzeczywistej tożsamości.
Zgodność z przepisami: dzięki tworzeniu skrótów wartości pól z wrażliwymi danymi firma zapewnia zgodność z przepisami dotyczącymi prywatności danych.
Bezpieczeństwo: funkcja skrótu generuje dane wyjściowe o stałym rozmiarze, które nie są odwracalne, dodając dodatkową warstwę ochrony wrażliwych danych.