Hash160 - fonction de script et fonction de graphique
Hash160() renvoie une valeur de hachage de 160 bits des valeurs de l'expression d'entrée combinées. Le résultat est une chaîne de 27 caractères. Les valeurs de hachage sont utiles pour masquer les informations personnelles identifiables (IIP) telles que les noms des clients, les numéros de sécurité sociale ou les numéros de compte.
Hash160(expr{, expression})
chaîne
Argument | Description |
---|---|
expr | Chaîne à évaluer. |
Exemple | Résultat |
---|---|
Hash160( 'abc', 'xyz', '123' ) | Renvoie MA&5]6+3=:>;>G%S<U*S2I:`=X*. |
Hash160( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
Renvoie G7*=6GKPJ(Z+)^KM?<$'AI.)?U$. |
Exemple - Les bases de Hash160
Vue d'ensemble
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
-
Jeu de données chargé dans une table de données appelée Example.
-
Champs suivants qui seront utilisés pour créer une valeur de hachage de 160 bits :
-
Region
-
Year
-
Month
-
Script de chargement
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
Résultats
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
-
Region
-
Year
-
Month
Créez la dimension calculée suivante :
-
=Hash160(Region, Year, Month) pour calculer la valeur de hachage de 160 bits.
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 |
Pour chaque ligne, les chaînes de hachage de Region, Year et Month sont jointes et une chaîne de 27 caractères est renvoyée.
Le code suivant montre comment utiliser la fonction dans un script de chargement.
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 |
Exemple - Scénario Hash160 avec entrées en double
Vue d'ensemble
Cet exemple crée une valeur de hachage unique pour chaque entrée de produit. La valeur de hachage sert d'identificateur unique, ce qui permet à l'entreprise de détecter et de gérer efficacement les doublons.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
-
Jeu de données chargé dans une table de données appelée Example.
-
Champs suivants dans la table de données :
-
TransactionID
- ProductID
-
ProductName
-
SupplierID
-
Script de chargement
Example:
Load *
inline [
TransactionID, ProductID, ProductName, SupplierID
1, 101, Widget A, S001
2, 102, Widget B, S002
3, 101, Widget A, S001
];
Résultats
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
- TransactionID
-
ProductID
-
ProductName
-
SupplierID
Créez la dimension calculée suivante :
-
=Hash160(ProductID, ProductName, SupplierID) pour calculer une clé de 27 caractères.
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 |
Comparez la sortie de la fonction Hash160. Notez que les premier et troisième enregistrements TransactionID ont des valeurs de hachage en double, parce que la combinaison des chaînes ProductID, ProductName et SupplierID est la même pour ces lignes.
Exemple - Scénario Hash160 pour anonymiser les données
Vue d'ensemble
Une entreprise de services financiers traite des informations clients sensibles telles que des numéros de cartes de crédit, des numéros de sécurité sociale et des noms de clients. Pour protéger la confidentialité et garantir la conformité aux réglementations telles que le Règlement général sur la protection des données (RGPD) ou la loi américaine Health Insurance Portability and Accountability Act (HIPAA), elle doit anonymiser les données sensibles lors de la génération de rapports à des fins d'analyse. Cependant, elle doit également maintenir la cohérence, afin de pouvoir suivre le même client dans différents jeux de données sans révéler l'identité du client.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
-
Jeu de données chargé dans une table de données appelée Example.
-
Champs suivants dans la table de données :
-
CustomerID
-
CustomerName
-
SSN
-
Script de chargement
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];
Résultats
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
-
CustomerID
-
CustomerName
-
SSN
Créez les dimensions calculées suivantes :
-
=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? |
Confidentialité des données : les données sensibles d'origine ne sont pas directement visibles, mais la valeur de hachage reste cohérente d'un enregistrement à un autre. Cela permet d'effectuer des analyses comme l'agrégation des activités des clients sans exposer l'identité réelle du client.
Conformité : en hachant les champs sensibles, l'entreprise garantit la conformité aux réglementations relatives à la confidentialité des données.
Sécurité : la fonction de hachage produit une sortie de taille fixe qui n'est pas réversible, ce qui ajoute une couche de protection supplémentaire aux données sensibles.