series_fill_linear()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 wird
double
, 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] |