toscalar()
A kiértékelt kifejezés skaláris állandó értékét adja vissza.
Ez a függvény szakaszos számításokat igénylő lekérdezések esetén hasznos. Számítsa ki például az események teljes számát, majd az eredmény alapján szűrje az összes esemény egy bizonyos százalékát meghaladó csoportokat.
A két utasítást pontosvesszővel kell elválasztani.
Syntax
toscalar(
Kifejezés)
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
expression | string |
✔️ | A skaláris értékké konvertálandó érték. |
Válaszok
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.
Tipp
A lekérdezés olvashatósága érdekében a let utasítást használhatja a használatával toscalar()
.
Korlátozások
toscalar()
nem alkalmazható olyan forgatókönyvre, amely minden sorra 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.
A következő 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 az join
operátorral hárítható el, ahogy 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
Kimenet
x | é |
---|---|
1 | 2 |
3 | 4 |
5 | 6 |
Példák
Értékelje ki Start
a , End
a és Step
a értéket skaláris állandóként, és használja az eredményt a kiértékeléshez range
.
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
Kimenet
z | start | befejezés | lépés |
---|---|---|---|
1 | 1 | 9 | 2 |
3 | 1 | 9 | 2 |
5 | 1 | 9 | 2 |
7 | 1 | 9 | 2 |
9 | 1 | 9 | 2 |
Az alábbi példa bemutatja, hogyan toscalar
lehet "kijavítani" egy kifejezést, hogy az pontosan egyszer legyen kiszámítva. Ebben az esetben a kiszámított kifejezés kiértékelésenként eltérő értéket ad vissza.
let g1 = toscalar(new_guid());
let g2 = new_guid();
range x from 1 to 2 step 1
| extend x=g1, y=g2
Kimenet
x | é |
---|---|
e6a15e72-756d-4c93-93d3-fe85c18d19a3 | c2937642-0d30-4b98-a157-a6706e217620 |
e6a15e72-756d-4c93-93d3-fe85c18d19a3 | c6a48cb3-9f98-4670-bf5b-589d0e0dcaf5 |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: