次の方法で共有


hash()

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

入力値のハッシュ値を返します。

Note

  • 関数は xxhash64 アルゴリズムを使用してハッシュを計算しますが、これは変更される可能性があります。 この関数は、1 つのクエリ内でのみ使用することをお勧めします。
  • 結合されたハッシュを保持する必要がある場合は、 hash_sha256()hash_sha1()、または hash_md5() を使用して、ハッシュを ビットごとの演算子と結合することをお勧めします。 これらの関数は、 hash()よりも計算が複雑です。

構文

hash(source [, mod])

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
ソース スカラー型 ✔️ ハッシュする値。
mod int 出力値が 0mod - 1の間になるように、ハッシュ結果に適用される剰余値。 このパラメーターは、可能な出力値の範囲を制限したり、ハッシュ関数の出力をより小さな範囲に圧縮したりする場合に便利です。

返品

source のハッシュ値。 mod を指定すると、関数はハッシュ値剰余を mod の値として返します。つまり、関数の出力は、ハッシュ値の残りの部分を mod で除算します。 出力は、 0mod - 1の間の値になります。

文字列入力

print result=hash("World")
結果
1846988464401551951

mod を使用した文字列入力

print result=hash("World", 100)
結果
51

Datetime 入力

print result=hash(datetime("2015-01-01"))
結果
1380966698541616202

ハッシュを使用してデータ分散を確認する

列の 1 つの値が均一に分散されている場合は、 hash() 関数を使用してデータをサンプリングします。 次の例では、StartTime 値が一様に分布しており、この関数を使用してデータの 10% に対してクエリを実行しています。

StormEvents 
| where hash(StartTime, 10) == 0
| summarize StormCount = count(), TypeOfStorms = dcount(EventType) by State 
| top 5 by StormCount desc