Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Rundet Werte auf eine ganze Zahl ab, die ein Vielfaches der angegebenen bin-Größe ist.
Wird häufig in Kombination mit summarize by ... verwendet.
Wenn Sie über einen punktierten Satz von Werten verfügen, werden sie in einen kleineren Satz bestimmter Werte gruppiert.
Die
bin()Funktionen sindfloor()gleichwertig.
Syntax
bin(
Wert,roundTo)
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| Wert | int, long, real, timespan, or datetime | ✔️ | Der wert, der aufgerundet werden soll. |
| roundTo | int, long, real oder timespan | ✔️ | Die "Bin-Größe", die den Wert dividiert. |
Gibt zurück
Das nächste Vielfache von roundTo unter dem Wert (value). NULL-Werte, eine bin-Größe von NULL oder eine negative bin-Größe ergeben NULL.
Beispiele
Im folgenden Beispiel wird die bin() Funktion mit numerischen Daten veranschaulicht.
print bin(4.5, 1)
Ausgabe
| print_0 |
|---|
| 4 |
Im folgenden Beispiel wird die bin() Funktion mit Zeitbereichsdaten veranschaulicht.
print bin(time(16d), 7d)
Ausgabe
| print_0 |
|---|
| 14:00:00:00 |
Im folgenden Beispiel wird die bin() Funktion mit Datetime-Daten veranschaulicht.
print bin(datetime(1970-05-11 13:45:07), 1d)
Ausgabe
| print_0 |
|---|
| 1970-05-11T00:00:00Z |
Wenn Zeilen für Container ohne entsprechende Zeile in der Tabelle vorhanden sind, empfehlen wir, die Tabelle mit diesen Behältern zu versehen. Die folgende Abfrage untersucht starke Windsturmereignisse in Kalifornien für eine Woche im April. Es gibt jedoch keine Ereignisse an einigen Tagen.
let Start = datetime('2007-04-07');
let End = Start + 7d;
StormEvents
| where StartTime between (Start .. End)
| where State == "CALIFORNIA" and EventType == "Strong Wind"
| summarize PropertyDamage=sum(DamageProperty) by bin(StartTime, 1d)
Ausgabe
| Startzeit | PropertyDamage |
|---|---|
| 2007-04-08T00:00:00Z | 3000 |
| 2007-04-11T00:00:00Z | 1.000 |
| 2007-04-12T00:00:00Z | 105000 |
Um die gesamte Woche darzustellen, werden mit den folgenden Abfragepads die Ergebnistabelle mit NULL-Werten für die fehlenden Tage dargestellt. Hier ist eine schrittweise Erläuterung des Prozesses:
- Verwenden Sie den
unionOperator, um der Tabelle weitere Zeilen hinzuzufügen. - Der
range-Operator erzeugt eine Tabelle mit einer einzelnen Zeile und Spalte. - Der
mv-expandOperator über dierangeFunktion erstellt so viele Zeilen, wie zwischenStartTimeundEndTime. - Verwenden Sie eine
PropertyDamagevon0. - Der
summarizeOperator gruppiert Fächer aus der ursprünglichen Tabelle in die tabelle, dieunionvom Ausdruck erzeugt wird. Durch diesen Vorgang wird sichergestellt, dass die Ausgabe eine Zeile pro Intervall enthält, deren Wert entweder 0 oder die ursprüngliche Anzahl ist.
let Start = datetime('2007-04-07');
let End = Start + 7d;
StormEvents
| where StartTime between (Start .. End)
| where State == "CALIFORNIA" and EventType == "Strong Wind"
| union (
range x from 1 to 1 step 1
| mv-expand StartTime=range(Start, End, 1d) to typeof(datetime)
| extend PropertyDamage=0
)
| summarize PropertyDamage=sum(DamageProperty) by bin(StartTime, 1d)
Ausgabe
| Startzeit | PropertyDamage |
|---|---|
| 2007-04-07T00:00:00Z | 0 |
| 2007-04-08T00:00:00Z | 3000 |
| 2007-04-09T00:00:00Z | 0 |
| 2007-04-10T00:00:00Z | 0 |
| 2007-04-11T00:00:00Z | 1.000 |
| 2007-04-12T00:00:00Z | 105000 |
| 2007-04-13T00:00:00Z | 0 |
| 2007-04-14T00:00:00Z | 0 |