Hash160 – função de script e gráfico
Hash160() retorna um valor de hash de 160 bits dos valores combinados de expressão de entrada. O resultado é uma string de 27 caracteres. Os valores hash são úteis para mascarar informações de identificação pessoal (PII), como nomes de clientes, números de previdência social ou números de conta.
Sintaxe:
Hash160(expr{, expression})
Tipo de dados de retorno: caractere
Argumento | Descrição |
---|---|
expr | A string a ser avaliada. |
Exemplo | Resultado |
---|---|
Hash160( 'abc', 'xyz', '123' ) | Retorna MA&5]6+3=:>;>G%S<U*S2I:`=X* |
Hash160( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
Retorna G7*=6GKPJ(Z+)^KM?<$'AI.)?U$ |
Exemplo - Fundamentos de Hash160
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
-
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
-
Os campos a seguir serão usados para criar um valor de hash de 160 bits:
-
Region
-
Year
-
Month
-
Script de carregamento
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
-
Region
-
Year
-
Month
Crie a seguinte dimensão calculada:
-
=Hash160(Region, Year, Month) para calcular o valor de hash de 160 bits.
Região | Ano | Mês | 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 |
Para cada linha, as strings de hash para Region, Year e Month são unidas e uma string de 27 caracteres é retornada.
O código a seguir mostra como usar a função em um script de carregamento.
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 ];
Região | Ano | Mês | 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 |
Exemplo - Cenário Hash160 com entradas duplicadas
Visão geral
Este exemplo cria um valor de hash exclusivo para cada entrada de produto. O valor de hash serve como um identificador exclusivo, permitindo que a empresa detecte e gerencie duplicatas de forma eficaz.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
-
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
-
Os campos a seguir na tabela de dados:
-
TransactionID
- ProductID
-
ProductName
-
SupplierID
-
Script de carregamento
Example:
Load *
inline [
TransactionID, ProductID, ProductName, SupplierID
1, 101, Widget A, S001
2, 102, Widget B, S002
3, 101, Widget A, S001
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
- TransactionID
-
ProductID
-
ProductName
-
SupplierID
Crie a seguinte dimensão calculada:
-
=Hash160(ProductID, ProductName, SupplierID) para calcular uma chave de 27 caracteres.
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 |
Compare a saída da função Hash160. Observe que o primeiro e o terceiro registros TransactionID têm valores de hash duplicados porque a combinação das strings ProductID, ProductName e SupplierID é a mesma para essas linhas.
Exemplo - Cenário Hash160 para tornar os dados anônimos
Visão geral
Uma empresa de serviços financeiros lida com informações confidenciais de clientes, como números de cartão de crédito, números de previdência social e nomes de clientes. Para proteger a privacidade e garantir a conformidade com regulamentações como o Regulamento Geral de Proteção de Dados (GDPR) ou o Health Insurance Portability and Accountability Act (HIPAA), eles precisam tornar dados confidenciais anônimos ao gerar relatórios para análise. No entanto, eles também precisam manter a consistência, para que possam rastrear o mesmo cliente em diferentes conjuntos de dados sem revelar a identidade do cliente.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
-
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
-
Os campos a seguir na tabela de dados:
-
CustomerID
-
CustomerName
-
SSN
-
Script de carregamento
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
-
CustomerID
-
CustomerName
-
SSN
Crie as seguintes dimensões calculadas:
-
=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? |
Privacidade de dados: os dados confidenciais originais não são diretamente visíveis, mas o valor do hash permanece consistente em diferentes registros. Isso permite análises, como agregar atividades do cliente, sem expor a identidade real do cliente.
Conformidade: ao fazer hash de campos sensíveis, a empresa garante a conformidade com os regulamentos de privacidade de dados.
Segurança: a função hash produz uma saída de tamanho fixo que não é reversível, adicionando uma camada extra de proteção para dados sensíveis.