hash()
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
入力値のハッシュ値を返します。
Note
- 関数は xxhash64 アルゴリズムを使用してハッシュを計算しますが、これは変更される可能性があります。 この関数は、1 つのクエリ内でのみ使用することをお勧めします。
- 結合されたハッシュを保持する必要がある場合は、 hash_sha256()、 hash_sha1()、または hash_md5() を使用して、ハッシュを ビットごとの演算子と結合することをお勧めします。 これらの関数は、
hash()
よりも計算が複雑です。
構文
hash(
source [,
mod])
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
ソース | スカラー型 | ✔️ | ハッシュする値。 |
mod | int |
出力値が 0 と mod - 1 の間になるように、ハッシュ結果に適用される剰余値。 このパラメーターは、可能な出力値の範囲を制限したり、ハッシュ関数の出力をより小さな範囲に圧縮したりする場合に便利です。 |
返品
source のハッシュ値。 mod を指定すると、関数はハッシュ値剰余を mod の値として返します。つまり、関数の出力は、ハッシュ値の残りの部分を mod で除算します。 出力は、 0
と mod - 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