reduce işleci
Şunlar için geçerlidir: ✅Microsoft Fabric✅
Değer benzerliğine göre bir dizi dizeyi birlikte gruplandırın.
Bu tür her grup için işleç bir pattern
, count
ve representative
döndürür. Karakterin pattern
joker karakteri temsil ettiği *
grubu en iyi şekilde açıklar.
count
, gruptaki değerlerin sayısıdır ve representative
grubundaki özgün değerlerden biridir.
Sözdizimi
T|
reduce
[kind
=
ReduceKind] by
İfade [with
[ threshold
=
Eşik] [,
characters
=
Karakterler]]
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
İfade | string |
✔️ | Azaltılan değer. |
Threshold | real |
Azaltma işlemini tetikleyebilmek için gruplandırma ölçütleriyle eşleştirmek için gereken en düşük satır kesirini belirleyen 0 ile 1 arasında bir değer. Varsayılan değer 0,1'dir. Büyük girişler için küçük bir eşik değeri ayarlamanızı öneririz. Daha küçük bir eşik değeriyle, daha benzer değerler birlikte gruplandırılır ve bu da daha az ama daha benzer gruplara neden olur. Daha büyük bir eşik değeri daha az benzerlik gerektirir ve bu da daha az benzer olan daha fazla grupla sonuçlanır. Bkz. Örnekler. |
|
Karakterler | string |
Terimler arasında ayrı olan karakterlerin listesi. Varsayılan değer, ascii olmayan her sayısal karakterdir. Örnekler için bkz . Karakter Davranışı parametresi. | |
ReduceKind | string |
Tek geçerli değer olur source . belirtilirsesource , işleci sütunu tarafından Pattern toplama yerine tablodaki var olan satırlara eklerPattern . |
Döndürülenler
, pattern
ve count
başlıklı representative
grup ve sütun sayısı kadar satırı olan bir tablo. En pattern
iyi, karakterin joker karakteri veya rastgele ekleme dizesi için yer tutucuyu temsil ettiği *
grubu açıklar.
count
, gruptaki değerlerin sayısıdır ve representative
grubundaki özgün değerlerden biridir.
Örneğin, sonucu reduce by city
şunları içerebilir:
Desen | Sayı | Vekil |
---|---|---|
San* | 5182 | San Bernard |
Aziz* | 2846 | Saint Lucy |
Moskova | 3726 | Moskova |
*-üzerinde-* | 2730 | Bire Bir |
Paris | 2716 | Paris |
Örnekler
Bu bölümdeki örnekte, kullanmaya başlamanıza yardımcı olması için söz diziminin nasıl kullanılacağı gösterilmektedir.
Bu makaledeki örneklerde, Örnekleri veritabanındaki
StormEvents
tablosu gibi yardım kümesiiçindeki genel kullanıma açık tablolar kullanılır.
Bu makaledeki örneklerde, Weather analytics örnek veriiçindeki
StormEvents
tablosu gibi genel kullanıma açık tablolar kullanılır.
Küçük eşik değeri
Bu sorgu bir sayı aralığı oluşturur, birleştirilmiş dizeler ve rastgele tamsayılar içeren yeni bir sütun oluşturur ve sonra satırları belirli azaltma parametreleriyle yeni sütuna göre gruplandırmaktadır.
range x from 1 to 1000 step 1
| project MyText = strcat("MachineLearningX", tostring(toint(rand(10))))
| reduce by MyText with threshold=0.001 , characters = "X"
Çıktı
Desen | Sayı | Vekil |
---|---|---|
MachineLearning* | 1000 | MachineLearningX4 |
Büyük eşik değeri
Bu sorgu bir sayı aralığı oluşturur, birleştirilmiş dizeler ve rastgele tamsayılar içeren yeni bir sütun oluşturur ve sonra satırları belirli azaltma parametreleriyle yeni sütuna göre gruplandırmaktadır.
range x from 1 to 1000 step 1
| project MyText = strcat("MachineLearningX", tostring(toint(rand(10))))
| reduce by MyText with threshold=0.9 , characters = "X"
Çıktı
Sonuç yalnızca MyText değerinin satırların en az 90% göründüğü grupları içerir.
Desen | Sayı | Vekil |
---|---|---|
MachineLearning* | 177 | MachineLearningX9 |
MachineLearning* | 102 | MachineLearningX0 |
MachineLearning* | 106 | MachineLearningX1 |
MachineLearning* | 96 | MachineLearningX6 |
MachineLearning* | 110 | MachineLearningX4 |
MachineLearning* | 100 | MachineLearningX3 |
MachineLearning* | 99 | MachineLearningX8 |
MachineLearning* | 104 | MachineLearningX7 |
MachineLearning* | 106 | MachineLearningX2 |
Characters
parametresinin davranışı
Karakterler parametresi belirtilmemişse, ascii olmayan her sayısal karakter bir terim ayırıcısı olur.
range x from 1 to 10 step 1 | project str = strcat("foo", "Z", tostring(x)) | reduce by str
Çıktı
Desen | Sayı | Vekil |
---|---|---|
Diğer | 10 |
Ancak, "Z" öğesinin bir ayırıcı olduğunu belirtirseniz, str
içindeki her değer iki terimdir: foo
ve tostring(x)
:
range x from 1 to 10 step 1 | project str = strcat("foo", "Z", tostring(x)) | reduce by str with characters="Z"
Çıktı
Desen | Sayı | Vekil |
---|---|---|
Foo* | 10 | fooZ1 |
Temizlenmiş girişe uygula reduce
Aşağıdaki örnekte, azaltılmakta olan sütundaki GUID'lerin azaltmadan önce değiştirildiği bir "temizlenmiş" girişe reduce
işlecinin nasıl uygulanabileceği gösterilmektedir:
İzleme tablosundan birkaç kayıtla başlayın. Ardından rastgele GUID'ler içeren Metin sütununu azaltın. Rastgele GUID'ler azaltma işlemini engelledikçe, bunların tümünü "GUID" dizesiyle değiştirin. Şimdi azaltma işlemini gerçekleştirin. Ekli '-' veya '_' karakterleri olan başka "rastgele" tanımlayıcılar varsa, karakterleri terim ayırıcısı olmayan karakterler olarak değerlendirin.
Trace
| take 10000
| extend Text = replace(@"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", "GUID", Text)
| reduce by Text with characters="-_"
İlgili içerik
Not
işlecinin reduce
uygulanması büyük ölçüde Risto Vaarandi tarafından yapılan Olay Günlüklerinden Araştırma Desenleri için A Veri Kümeleme Algoritması kağıdını temel alır.