Hash128 - función de script y de gráfico
Hash128() devuelve un valor hash de 128 bits de los valores de expresión de entrada combinados. El resultado es una cadena de 22 caracteres. Los valores hash son útiles para enmascarar información personal identificable (PII), como nombres de clientes, números de la seguridad social o números de cuenta.
Sintaxis:
Hash128(expr{, expression})
Tipo de datos que devuelve: cadena de texto
Argumento | Descripción |
---|---|
expr | La cadena de texto que se ha de evaluar. |
Ejemplo | Resultado |
---|---|
Hash128( 'abc', 'xyz', '123' ) | Devuelve MA&5]6+3=:>:>G%S<U*S2+ |
Hash128 ( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
Devuelve G7*=6GKPJ(Z+)^KM?<$'A+ |
Ejemplo: fundamentos de Hash128
Descripción
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Los siguientes campos que se utilizarán para crear un valor hash de 128 bits:
-
Region
-
Year
-
Month
-
Script de carga
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
Region
-
Year
-
Month
Cree la siguiente dimensión calculada:
-
=Hash128(Region, Year, Month), para calcular el valor hash de 128 bits.
Región | Año | Mes | Hash128(Región, Año, Mes) |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2+ |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=/$ |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN! |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW0 |
Para cada fila, se unen las cadenas hash de Region, Year y Month y se devuelve una cadena de 22 caracteres.
El siguiente código muestra cómo utilizar la función en un script de carga.
Hash_128:
Load *,
Hash128(Region, Year, Month) as Hash128_Region_Year_Month;
Load * inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02 ];
Región | Año | Mes | Hash128_Region_Año_Mes |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2+ |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=/$ |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN! |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW0 |
Ejemplo: uso de Hash128 con entradas duplicadas
Descripción
Este ejemplo crea un valor hash único para cada entrada de producto. El valor hash sirve como identificador único, lo que permite a la empresa detectar y gestionar eficazmente los duplicados.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Los siguientes campos de la tabla de datos:
-
TransactionID
-
ProductID
-
ProductName
-
SupplierID
-
Script de carga
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
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
Transaction ID
-
ProductID
-
ProductName
-
SupplierID
Cree la siguiente dimensión calculada:
-
=Hash128(ProductID, ProductName, SupplierID), para calcular una clave de 22 caracteres.
TransactionID | ProductID | ProductName | SupplierID | Hash128(ProductID, ProductName, SupplierID) |
---|---|---|---|---|
1 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N% |
2 | 102 | Widget B | S002 | O7(1;V1%MG;Z+A[/H)G5&0 |
3 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N% |
Compare el resultado de la función Hash128. Observe que el primer y el tercer registro TransactionID tienen valores hash duplicados porque la combinación de las cadenas ProductID, ProductName y SupplierID es la misma para estas filas.
Ejemplo: uso de Hash128 para anonimizar datos
Descripción
Una empresa de servicios financieros maneja información confidencial de sus clientes, como números de tarjetas de crédito, números de la Seguridad Social y nombres de clientes. Para proteger la privacidad y garantizar el cumplimiento de normativas como el Reglamento General de Protección de Datos (RGPD) o la ley estadounidense de Portabilidad y Responsabilidad de Seguros Médicos (HIPAA), necesitan anonimizar los datos confidenciales al generar informes para sus análisis. Sin embargo, también necesitan mantener la coherencia, de modo que puedan seguir a un mismo cliente en diferentes conjuntos de datos sin revelar su identidad.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Los siguientes campos de la tabla de datos:
-
CustomerID
- CustomerName
-
SSN
-
Script de carga
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
CustomerID
-
CustomerName
-
SSN
Cree las siguientes dimensiones calculadas:
-
=Hash128(CustomerName)
-
=Hash128(SSN)
IDCliente | NombreCliente | SSN | Hash128(NombreCliente) | Hash128(SSN) |
---|---|---|---|---|
101 | John Doe | 123-45-6789| | GMD(*B9*!PQ&MTY2@$4A\+ | N&[PSH:I$M?OF<5/9LV&N# |
102 | Jane Smith | 987-65-4321 | EP@9]GSI)5G\I*,B?H,C?) | HCFXMR'2=\3WF6?_\6LN;$ |
Protección de datos: los datos confidenciales originales no quedan directamente visibles, pero el valor hash sigue siendo coherente en los distintos registros. Esto permite realizar análisis, como la agregación de la actividad de los clientes, sin exponer la identidad real del cliente.
Cumplimiento: mediante el hashing de los campos confidenciales, la empresa garantiza el cumplimiento de la normativa sobre privacidad de datos.
Seguridad: la función hash produce un resultado de salida de tamaño fijo que no es reversible, lo que añade una capa adicional de protección para los datos sensibles.