series_dot_product_fl()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Berechnet das Skalarprodukt zweier numerischer Vektoren.
Die Funktion series_dot_product_fl()
ist eine benutzerdefinierte Funktion (UDF), die einen Ausdruck mit zwei dynamischen numerischen Arrays als Eingabe akzeptiert und ihr Punktprodukt berechnet.
Hinweis
Verwenden Sie die systemeigene Funktion series_dot_product() anstelle der in diesem Dokument beschriebenen Funktion. Die systemeigene Funktion bietet die gleiche Funktionalität und ist besser für Leistung und Skalierbarkeit. Dieses Dokument wird nur zu Referenzzwecken bereitgestellt.
Syntax
series_dot_product_fl(
vec1,
vec2)
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
vec1 | dynamic |
✔️ | Ein Array numerischer Werte. |
vec2 | dynamic |
✔️ | Ein Array numerischer Werte, das dieselbe Länge wie vec1 aufweist. |
Funktionsdefinition
Sie können die Funktion definieren, indem Sie den Code entweder als abfragedefinierte Funktion einbetten oder wie folgt als gespeicherte Funktion in Ihrer Datenbank erstellen:
Definieren Sie die Funktion mithilfe der folgenden Let-Anweisung. Es sind keine Berechtigungen erforderlich.
Wichtig
Eine Let-Anweisung kann nicht alleine ausgeführt werden. Auf sie muss eine tabellarische Ausdrucksanweisung folgen. Informationen zum Ausführen eines funktionierenden Beispiels series_dot_product_fl()
finden Sie unter Beispiel.
let series_dot_product_fl=(vec1:dynamic, vec2:dynamic)
{
let elem_prod = series_multiply(vec1, vec2);
let cum_sum = series_iir(elem_prod, dynamic([1]), dynamic([1,-1]));
todouble(cum_sum[-1])
};
// Write your query to use the function here.
Beispiel
Um eine abfragedefinierte Funktion zu verwenden, rufen Sie sie nach der definition der eingebetteten Funktion auf.
let series_dot_product_fl=(vec1:dynamic, vec2:dynamic)
{
let elem_prod = series_multiply(vec1, vec2);
let cum_sum = series_iir(elem_prod, dynamic([1]), dynamic([1,-1]));
todouble(cum_sum[-1])
};
union
(print 1 | project v1=range(1, 3, 1), v2=range(4, 6, 1)),
(print 1 | project v1=range(11, 13, 1), v2=range(14, 16, 1))
| extend v3=series_dot_product_fl(v1, v2)
Output