Freigeben über


series_fill_linear()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Interpoliert linear fehlende Werte in einer Datenreihe.

Verwendet einen Ausdruck, der dynamische numerische Array als Eingabe enthält, eine lineare Interpolation für alle Instanzen von missing_value_placeholder und gibt das resultierende Array zurück. Wenn der Anfang und das Ende des Arrays missing_value_placeholder enthalten, wird es durch den nächsten Wert ersetzt, der nicht missing_value_placeholder ist. Dieses Feature kann deaktiviert werden. Wenn das gesamte Array aus dem missing_value_placeholder besteht, wird das Array mit constant_value oder 0 gefüllt, falls nicht angegeben.

Syntax

series_fill_linear(Reihe, [ missing_value_placeholder [,fill_edges [, constant_value ]]])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
Reihe dynamic ✔️ Ein Array numerischer Werte.
missing_value_placeholder Skalarwert Gibt einen Platzhalter für fehlende Werte an. Der Standardwert lautet double(null). Der Wert kann ein beliebiger Typ sein, der in tatsächliche Elementtypen konvertiert wird. double(null), long(null) und int(null) haben dieselbe Bedeutung.
fill_edges bool Gibt an, ob missing_value_placeholder am Anfang und Am Ende des Arrays durch den nächsten Wert ersetzt werden soll. true standardmäßig. Bei Festlegung auf false, wird missing_value_placeholder am Anfang und Am Ende des Arrays beibehalten.
constant_value Skalarwert Nur für Arrays relevant, die vollständig aus Nullwerten bestehen. Dieser Parameter gibt einen Konstantenwert an, mit dem die Datenreihe gefüllt werden soll. Standardwert ist 0. Wenn Sie diesen Parameter auf double(NULL) festlegen, bleiben die Nullwerte erhalten.

Gibt zurück

Eine lineare Interpolation der Datenreihe mit den angegebenen Parametern. Wenn datenreihe nur int oder long Elemente enthält, gibt die lineare Interpolation gerundete interpolierte Werte anstelle exakter Werte zurück.

Hinweis

  • Wenn Sie Datenreihen mithilfe des Make-Series-Operators erstellen, geben Sie null als Standardwert an, um Interpolationsfunktionen wie series_fill_linear() danach zu verwenden. Siehe Erläuterung.
  • Wenn missing_value_placeholder null ist oder ausgelassen wirddouble, kann ein Ergebnis NULL-Werte enthalten. Um diese Nullwerte auszufüllen, verwenden Sie andere Interpolationsfunktionen. Nur series_outliers() unterstützt Nullwerte in Eingabearrays.
  • series_fill_linear() behält den ursprünglichen Typ der Arrayelemente bei.

Beispiel

let data = datatable(arr: dynamic)
    [
    dynamic([null, 111.0, null, 36.0, 41.0, null, null, 16.0, 61.0, 33.0, null, null]), // Array of double    
    dynamic([null, 111, null, 36, 41, null, null, 16, 61, 33, null, null]), // Similar array of int
    dynamic([null, null, null, null])                                                   // Array with missing values only
];
data
| project
    arr, 
    without_args = series_fill_linear(arr),
    with_edges = series_fill_linear(arr, double(null), true),
    wo_edges = series_fill_linear(arr, double(null), false),
    with_const = series_fill_linear(arr, double(null), true, 3.14159)  

Output

arr without_args with_edges wo_edges with_const
[null,111.0,null,36.0,41.0,null,null,16.0,61.0,33.0,null,null] [111.0,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,33.0,33.0] [111.0,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,33.0,33.0] [null,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,null,null] [111.0,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,33.0,33.0]
[null,111,null,36,41,null,null,16,61,33,null,null] [111,111,73,36,41,32,24,16,61,33,33,33] [111,111,73,36,41,32,24,16,61,33,33,33] [null,111,73,36,41,32,24,16,61,33,null,null] [111,111,74,38, 41,32,24,16,61,33,33,33]
[NULL,NULL,NULL;NULL] [0.0,0.0,0.0,0.0] [0.0,0.0,0.0,0.0] [0.0,0.0,0.0,0.0] [3.14159,3.14159,3.14159,3.14159]