Megosztás a következőn keresztül:


toscalar()

A következőkre vonatkozik: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

A kiértékelt kifejezés skaláris állandó értékét adja vissza.

Ez a függvény olyan lekérdezések esetén hasznos, amelyek szakaszos számításokat igényelnek. Kiszámíthatja például az események teljes számát, majd az eredmény használatával szűrheti az összes esemény egy bizonyos százalékát meghaladó csoportokat.

A két utasítást pontosvessző választja el egymástól.

Szintaxis

toscalar( kifejezés)

További információ szintaxiskonvenciákról.

Paraméterek

Név Típus Szükséges Leírás
kifejezés string ✔️ Az átalakítandó érték skaláris értékké.

Visszatér

A kiértékelt kifejezés skaláris állandó értéke. Ha az eredmény táblázatos, akkor az első oszlop és az első sor lesz az átalakításhoz.

Borravaló

A let utasítást használhatja a lekérdezés olvashatóságához toscalar()használatakor.

Korlátozások

toscalar() nem alkalmazható olyan forgatókönyvre, amely minden sorban alkalmazza a függvényt. Ennek az az oka, hogy a függvény csak állandó számú alkalommal számítható ki a lekérdezés végrehajtása során. Ez a korlátozás általában a következő hibát adja vissza: can't use '<column name>' as it is defined outside its row-context scope.

Az alábbi példában a lekérdezés a következő hibával meghiúsul:

'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)

Ez a hiba a join operátorral hárítható el, ahogyan az alábbi példában is látható:

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

kimeneti

x y
1 2
3 4
5 6

Példák

Az ebben a szakaszban szereplő példák bemutatják, hogyan használhatja a szintaxist az első lépésekhez.

Tartomány beállítása kiértékeléshez

Értékelje ki Start, Endés Step skaláris állandóként, és használja az eredményt range kiértékeléshez.

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

kimeneti

z elkezd vég lépés
1 1 9 2
3 1 9 2
5 1 9 2
7 1 9 2
9 1 9 2

Rögzített és dinamikus GUID létrehozása

Az alábbi példa bemutatja, hogyan használható toscalar() egy rögzített guid, amely pontosan egyszer van kiszámítva, és hogyan lehet dinamikus értékeket létrehozni guid.

let g1 = toscalar(new_guid());
let g2 = new_guid();
range x from 1 to 2 step 1
| extend x=g1, y=g2

kimeneti

x y
e6a15e72-756d-4c93-93d3-fe85c18d19a3 c2937642-0d30-4b98-a157-a6706e217620
e6a15e72-756d-4c93-93d3-fe85c18d19a3 c6a48cb3-9f98-4670-bf5b-589d0e0dcaf5