series_dot_product()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Vypočítá tečkovaný součin dvou číselných řad.
Funkce series_dot_product()
přebírá jako vstup dvě číselné řady a vypočítá jejich tečkovaný součin.
Syntaxe
series_dot_product(
series1,
series2)
Alternativní syntaxe
series_dot_product(
číselná řada,
)
series_dot_product(
číselná,
řada)
Poznámka:
Alternativní syntaxe ukazuje, že jedním ze dvou argumentů funkce může být číselný skalár.
Tento číselný skalár bude vysílán do vektoru, jehož délka se rovná délce odpovídající číselné řady.
Bude například series_dot_product([1, 2, 3], 10)
považován za series_dot_product([1, 2, 3], [10, 10, 10])
.
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
řada1, řada2 | dynamic |
✔️ | Vstupní pole s číselnými daty, která mají být vynásobená podle prvků a následně sečtená do hodnoty typu real . |
Návraty
Vrátí hodnotu typureal
, jejíž hodnota je součet nad součinem každého prvku řady 1 s odpovídajícím prvkem řady 2.
V případě, že se obě řady nerovnají, delší řada se zkrátí na délku kratší řady.
Jakýkoli nečíselný prvek vstupní řady bude ignorován.
Poznámka:
Pokud jsou jedno nebo obě vstupní pole prázdná, výsledek bude null
.
Optimalizace výkonu
Pokud chcete zvýšit výkon a snížit požadavky na úložiště při použití této funkce, zvažte použití Vector16
zásad kódování pro ukládání vektorů s plovoucí desetinnou čárkou, které nevyžadují přesnost 64 bitů, například vkládání vektorů ML. Profil Vector16
, který využívá reprezentaci plovoucí desetinné čárky Bfloat16 , může výrazně optimalizovat operaci a snížit velikost úložiště faktorem 4. Další podrobnosti o zásadách Vector16
kódování najdete v typech zásad kódování.
Příklad
range x from 1 to 3 step 1
| extend y = x * 2
| extend z = y * 2
| project s1 = pack_array(x,y,z), s2 = pack_array(z, y, x)
| extend s1_dot_product_s2 = series_dot_product(s1, s2)
s1 | s2 | s1_dot_product_s2 |
---|---|---|
[1,2,4] | [4,2,1] | 12 |
[2,4,8] | [8,4,2] | 48 |
[3,6,12] | [12,6,3] | 108 |
range x from 1 to 3 step 1
| extend y = x * 2
| extend z = y * 2
| project s1 = pack_array(x,y,z), s2 = x
| extend s1_dot_product_s2 = series_dot_product(s1, s2)
s1 | s2 | s1_dot_product_s2 |
---|---|---|
[1,2,4] | 1 | 7 |
[2,4,8] | 2 | 28 |
[3,6,12] | 3 | 63 |