Freigeben über


series_dot_product_fl()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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

Tabelle mit dem Ergebnis des Punktprodukts von 2 Vektoren mithilfe benutzerdefinierter Funktions-series_dot_product_fl.