toscalar()
Şunlar için geçerlidir: ✅Microsoft Fabric✅
Değerlendirilen ifadenin skaler sabit değerini döndürür.
Bu işlev, aşamalı hesaplamalar gerektiren sorgular için kullanışlıdır. Örneğin, toplam olay sayısını hesaplayın ve ardından sonucu kullanarak tüm olayların belirli bir yüzdesini aşan grupları filtreleyin.
İki deyim noktalı virgülle ayrılır.
Sözdizimi
toscalar(
ifade)
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
ifade | string |
✔️ | Skaler değere dönüştürülecek değer. |
Döndürülenler
Değerlendirilen ifadenin skaler sabit değeri. Sonuç tablosal ise, dönüştürme için ilk sütun ve ilk satır alınır.
İpucu
kullanırken sorgunun okunabilirliği için let deyimini kullanabilirsiniz toscalar()
.
Sınırlamalar
toscalar()
işlevi her satıra uygulayan bir senaryoya uygulanamaz. Bunun nedeni, işlevin sorgu yürütme sırasında yalnızca sabit sayıda hesaplanabilir olmasıdır.
Genellikle, bu sınırlamaya uyulduğunda aşağıdaki hata döndürülür: can't use '<column name>' as it is defined outside its row-context scope.
Aşağıdaki örnekte sorgu şu hatayla başarısız olur:
'toscalar': can't use 'x' as it is defined outside its row-context scope.
let _dataset1 = datatable(x:long)[1,2,3,4,5];
let _dataset2 = datatable(x:long, y:long) [ 1, 2, 3, 4, 5, 6];
let tg = (x_: long)
{
toscalar(_dataset2| where x == x_ | project y);
};
_dataset1
| extend y = tg(x)
Bu hata, aşağıdaki örnekte olduğu gibi işleci kullanılarak join
azaltılabilir:
let _dataset1 = datatable(x: long)[1, 2, 3, 4, 5];
let _dataset2 = datatable(x: long, y: long) [1, 2, 3, 4, 5, 6];
_dataset1
| join (_dataset2) on x
| project x, y
Çıktı
x | y |
---|---|
1 | 2 |
3 | 4 |
5 | 6 |
Örnekler
Bu bölümdeki örneklerde, kullanmaya başlamanıza yardımcı olması için söz diziminin nasıl kullanılacağı gösterilmektedir.
Değerlendirme aralığını ayarlama
, Start
ve End
değerlerini skaler sabitler olarak değerlendirin Step
ve sonucu değerlendirme için range
kullanın.
let Start = toscalar(print x=1);
let End = toscalar(range x from 1 to 9 step 1 | count);
let Step = toscalar(2);
range z from Start to End step Step | extend start=Start, end=End, step=Step
Çıktı
z | start | end | step |
---|---|---|---|
1 | 1 | 9 | 2 |
3 | 1 | 9 | 2 |
5 | 1 | 9 | 2 |
7 | 1 | 9 | 2 |
9 | 1 | 9 | 2 |
Sabit ve dinamik GUID oluşturma
Aşağıdaki örnekte, sabit guid
oluşturmak için toscalar()
nasıl kullanılabileceğini, tam olarak bir kez hesaplanmış ve guid
için dinamik değerlerin nasıl kullanılabileceğini gösterir.
let g1 = toscalar(new_guid());
let g2 = new_guid();
range x from 1 to 2 step 1
| extend x=g1, y=g2
Çıktı
x | y |
---|---|
e6a15e72-756d-4c93-93d3-fe85c18d19a3 | c2937642-0d30-4b98-a157-a6706e217620 |
e6a15e72-756d-4c93-93d3-fe85c18d19a3 | c6a48cb3-9f98-4670-bf5b-589d0e0dcaf5 |