Hash128 - スクリプトおよびチャート関数
Hash128() は、複合入力式の値の 128 ビット ハッシュを返します。結果は、22 文字の文字列になります。 ハッシュ値は、顧客名、社会保障番号、口座番号などの個人識別情報 (PII) を隠すのに役立ちます。
構文:
Hash128(expr{, expression})
戻り値データ型: 文字列
引数 | 説明 |
---|---|
expr | 評価する文字列。 |
例 | 結果 |
---|---|
Hash128( 'abc', 'xyz', '123' ) | MA&5]6+3=:>:>G%S<U*S2+ を返します |
Hash128 ( Region, Year, Month ) Note: Region, Year, and Month are table fields. |
G7*=6GKPJ(Z+)^KM?<$'A+ を返します |
例 - Hash128 の基本
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
「Example」というデータ テーブルにロードされるデータセット。
-
128 ビットのハッシュ値を作成するために使用される次の項目:
-
Region
-
Year
-
Month
-
ロード スクリプト
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
-
Region
-
Year
-
Month
次の計算軸を作成します。
-
=Hash128(Region, Year, Month)、128 ビットのハッシュ値を計算します。
地域 | 年 | 月 | Hash128 (地域、年、月) |
---|---|---|---|
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 |
各行について、 Region、Year、および Month のハッシュ文字列が結合され、22 文字の文字列が返されます。
次のコードは、ロード スクリプトで関数を使用する方法を示しています。
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 ];
地域 | 年 | 月 | Hash128_Region_Year_Month |
---|---|---|---|
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 |
例 - 重複エントリを含む Hash128 シナリオ
概要
この例では、各製品エントリに一意のハッシュ値を作成します。ハッシュ値は一意の識別子として機能し、企業が重複を効果的に検出して管理できるようにします。
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
「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
次の計算軸を作成します。
-
=Hash128(ProductID, ProductName, SupplierID)、22 文字のキーを計算します。
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% |
Hash128 関数の出力を比較します。1 番目と 3 番目の TransactionID レコードでは、ProductID、ProductName、および SupplierID の文字列の組み合わせが同じであるため、ハッシュ値が重複していることに注意してください。
例 - Hash128 シナリオによるデータの匿名化
概要
金融サービス会社では、クレジットカード番号、社会保障番号、顧客名などの機密性の高い顧客情報が取り扱われています。プライバシーを保護し、一般データ保護規則 (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
次の計算軸を作成します。
-
=Hash128(CustomerName)
-
=Hash128(SSN)
CustomerID | CustomerName | SSN | Hash128(CustomerName) | 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;$ |
データのプライバシー: 元の機密データは直接表示されませんが、ハッシュ値は異なるレコード間で一貫しています。これにより、顧客の実際の身元を公開することなく、顧客のアクティビティを集計するなどの分析が可能になります。
コンプライアンス: 機密フィールドをハッシュ化することで、企業はデータ プライバシー規制への準拠を保証します。
セキュリティ: ハッシュ関数は、元に戻すことのできない固定サイズの出力を生成するため、機密データに対する保護層が追加されます。