Hash256 - 指令碼與圖表函數
Hash256() 會傳回組合輸入運算式值的 256 位元雜湊值。結果為包含 43 個字元的字串。 雜湊值對於遮罩個人識別資訊 (PII) 很實用,例如客戶姓名、社會安全號碼或帳號。
語法:
Hash256(expr{, expression})
傳回的資料類型: 字串
引數 | 描述 |
---|---|
expr | 要評估的字串。 |
範例 | 結果 |
---|---|
Hash256( 'abc', 'xyz', '123' ) | 傳回 MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
Hash256( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
傳回 G7*=6GKPJ(Z+)^KM?<$'AI.)?U$#X2RB[:0ZP=+Z`F: |
範例 - Hash256 基礎事項
概述
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
以下欄位將用於建立 256 位元雜湊值:
-
Region
-
Year
-
Month
-
載入指令碼
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
-
Region
-
Year
-
Month
建立下列計算維度:
-
=Hash256(Region, Year, Month),用來計算 256 位元雜湊值。
區域 | 年 | 月 | Hash256(Region, Year, Month) |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=//_F853?BE6'G&,YH*T'MF) |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZT=4\#V`M%6_\0C>4 |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW`@KF+W-0]`[Z8R+#'")=+0 |
對於每一列,Region、Year 和 Month 的雜湊字串聯結在一起,並傳回 43 個字元的字串。
以下程式碼顯示如何在載入指令碼中使用該函數。
Hash_256:
Load *,
Hash256(Region, Year, Month) as Hash256_Region_Year_Month;
Load * inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02 ];
區域 | 年 | 月 | Hash256_Region_Year_Month |
---|---|---|---|
abc | xyz | 123 | MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
EU | 2022 | 01 | B40^K&[T@!;VB'XR]<5=//_F853?BE6'G&,YH*T'MF) |
UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZT=4\#V`M%6_\0C>4 |
US | 2022 | 02 | C6@#]4#_G-(]J7EQY#KRW`@KF+W-0]`[Z8R+#'")=+0 |
範例 - 具有重複項目的 Hash256 使用情境
概述
此範例為每個產品項目建立唯一的雜湊值。雜湊值作為唯一識別碼,讓公司能夠有效地偵測和管理重複內容。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
資料表格中的欄位如下:
-
TransactionID
-
ProductID
-
ProductName
-
SupplierID
-
載入指令碼
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
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
-
Transaction ID
-
ProductID
-
ProductName
-
SupplierID
建立下列計算維度:
-
=Hash256(ProductID, ProductName, SupplierID),用來計算 43 個字元的金鑰。
TransactionID | ProductID | ProductName | SupplierID | Hash256(ProductID, ProductName, SupplierID) |
---|---|---|---|---|
1 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N1Q+*T3K=35VDVQ>>;%+A0] |
2 | 102 | Widget B | S002 | O7(1;V1%MG;Z+A[/H)G5&`6RA0(`%6T?YZQ.+>*&\JF |
3 | 101 | Widget A | S001 | CY`&^(N,E/#`TJT4&]/7N1Q+*T3K=35VDVQ>>;%+A0] |
比較 Hash256 函數的輸出。請注意,第一個和第三個 TransactionID 記錄具有重複的雜湊值,因為這些列的 ProductID、ProductName 和 SupplierID 字串的組合相同。
範例 - 對匿名資料的 Hash256 使用情境
概述
金融服務公司處理敏感的客戶資訊,例如信用卡號、社會安全號碼和客戶姓名。為了保護隱私並確保遵守《一般資料保護規範》(GDPR) 或《健康保險可攜性和責任法案》(HIPAA) 等法規,他們需要在產生分析報告時對敏感資料進行匿名處理。不過,他們也需要保持一致性,以便他們可以在不同的資料集追蹤相同客戶,而不會洩露客戶的身分。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
資料表格中的欄位如下:
-
CustomerID
-
CustomerName
-
SSN
-
載入指令碼
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
-
CustomerID
-
CustomerName
-
SSN
建立下列計算維度:
-
=Hash256(CustomerName)
-
=Hash256(SSN)
CustomerID | CustomerName | SSN | Hash256(CustomerName) | Hash256(SSN) |
---|---|---|---|---|
101 | John Doe | 123-45-6789| | GMD(*B9*!PQ&MTY2@$4A\KCL?[0@T%D@8C#6&UR8/95 | N&[PSH:I$M?OF<5/9LV&N*;`CZ((X'"9Y2FKJC6W04[ |
102 | Jane Smith | 987-65-4321 | EP@9]GSI)5G\I*,B?H,C?A$%VG:SL#6I>Q1:L<0O7UW | HCFXMR'2=\3WF6?_\6LN;.*6:K?Y:%MZ#*PP]WI`YS< |
資料隱私:不會直接看見原始敏感資料,但雜湊值在不同記錄之間能保持一致。這樣就能進行分析,例如彙總客戶活動,而無需暴露客戶的實際身分。
合規性:對敏感欄位進行雜湊處理,藉此讓公司確保遵守資料隱私法規。
安全性:雜湊函數產生不可逆的固定大小輸出,為敏感資料增加了額外的保護層。