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
union
Operator, um der Tabelle weitere Zeilen hinzuzufügen. - Der
range
-Operator erzeugt eine Tabelle mit einer einzelnen Zeile und Spalte. - Der
mv-expand
Operator über dierange
Funktion erstellt so viele Zeilen, wie zwischenStartTime
undEndTime
. - Verwenden Sie eine
PropertyDamage
von0
. - Der
summarize
Operator gruppiert Fächer aus der ursprünglichen Tabelle in die tabelle, dieunion
vom 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 |