Zum Hauptinhalt wechseln
Workday User Guide
Zuletzt aktualisiert: 2023-06-23
MIN

MIN

Beschreibung

MIN
ist eine Fensteraggregatfunktion, die Zeilen in Gruppen unterteilt, Zeilen nach einem Feld ordnet und den Minimalwert (niedrigsten Wert) in der Gruppe zurückgibt.
Die
PARTITION BY
Die -Klausel bestimmt, welche Felder verwendet werden sollen, um einen Satz von Eingabezeilen in Gruppen zu unterteilen. Die
ORDER BY
Die -Klausel bestimmt, wie die Zeilen in der Partition sortiert werden.
Workday teilt die Eingabezeilen entsprechend den Partitionierungsfeldern in Gruppen auf, ordnet die Zeilen entsprechend den Sortierfeldern an und berechnet dann den Aggregatausdruck (das Minimum für diese Funktion) in jeder Gruppe.

Syntax

MIN
(
input_field
)
OVER
(
PARTITION BY
partitioning_field
[,
partitioning_field
]
ORDER BY
ordering_field
[ASC | DESC] [,
ordering_field
[ASC | DESC]]
RANGE
BETWEEN
value
PRECEDING
AND
CURRENT ROW
|
ROWS
win_boundary
|
BETWEEN
win_boundary
AND
win_boundary
)
where
win_boundary
can be:
UNBOUNDED PRECEDING
value
PRECEDING
UNBOUNDED FOLLOWING
value
FOLLOWING
CURRENT ROW

Rückgabewert

Der Rückgabewert hat dieselbe Feldart wie der Eingabewert.

Eingabeparameter

input_field
Erforderliche Inhalte. Das Feld, für das die Aggregatfunktion ausgeführt werden soll. Sie können ein beliebiges numerisches Feld oder ein Währungsfeld verwenden.
OVER()
Erforderlich.
OVER
muss innerhalb einer verwendet werden
MIN
Ausdruck.
PARTITION BY
partitioning_field
Erforderliche Inhalte. Verwenden Sie die
PARTITION BY
-Klausel, um ein oder mehrere Felder anzugeben, die zur Partitionierung einer Gruppe von Eingabezeilen verwendet werden sollen. Sie können eine beliebige Feldart außer Währung angeben. Beispiel: Sie geben das Feld „Monat“ als Partitionsfeld an. Daher gruppiert Workday alle Datensätze, die denselben Wert für „Monat“ haben, in einer einzelnen Partition.
ORDER BY
ordering_field
Erforderliche Inhalte. Verwenden Sie die
ORDER BY
-Klausel, um anzugeben, wie die Eingabezeilen in der Partition sortiert werden sollen, indem die Werte im angegebenen Feld in jeder Partition verwendet werden. Sie können eine beliebige Feldart außer Währung angeben. Sie müssen jedoch eine numerische Feldart verwenden, z. B. Integer oder Numerisch, wenn Sie verwenden
RANGE
-Klausel.
Sie können die verwenden
DESC
oder
ASC
Schlüsselwörter, die in absteigender Reihenfolge (Werte hoch nach unten, NULL-Werte kommen zuletzt) oder aufsteigend (von niedrigem bis hohem Wert, NULL-Werte zuerst) für jedes Reihenfolgefeld sortiert werden sollen. Wenn Sie keine Sortierreihenfolge für ein Reihenfolgefeld angeben, sortiert Workday die Zeilen automatisch in aufsteigender Reihenfolge.
ZEILEN | RANGE
Erforderliche Inhalte. Die
ROWS
und
RANGE
-Klauseln definieren die bestimmte Anzahl von Zeilen (relativ zur aktuellen Zeile) innerhalb der Partition, indem sie einen Fensterrahmen angeben. Sie definieren den Fensterrahmen, indem Sie Start- und Endpunkte innerhalb der Partition angeben, die als Fenstergrenzen bezeichnet werden. Der Fensterrahmen ist der Satz von Eingabezeilen in jeder Partition, über den der Aggregatausdruck berechnet werden soll (Minimum für diese Funktion). Der Fensterrahmen kann eine, mehrere oder alle Zeilen der Partition enthalten.
Beides
ROWS
und
RANGE
Geben Sie den Zeilenbereich relativ zur aktuellen Zeile an, aber
RANGE
arbeitet logisch auf Werten (logische Zuordnung) und
ROWS
wird physisch für Zeilen im Dataset verwendet (Physische Zuordnung).
RANGE
beschränkt den Fensterrahmen so, dass er Zeilen enthält, deren Werte innerhalb des angegebenen Bereichs relativ zum aktuellen Wert liegen.
ROWS
beschränkt den Fensterrahmen auf Zeilen, die sich physisch neben der aktuellen Zeile befinden.
Verwenden
RANGE
zur Definition absoluter Zeitfenstergrenzen, z. B. die letzten 3 Monate oder das Jahr bis heute. Bei Verwendung
RANGE
, die
ORDER BY
-Klausel muss eine numerische Feldart verwenden, z. B. Integer oder Numerisch.
Beispiel: Angenommen, Sie haben ein Integer-Feld namens MonthNum, das die Zahl des Monats im Jahr darstellt (Werte 1 bis 12). Um alle Werte der letzten 3 Monate anzugeben, sortieren Sie nach MonthNum und verwenden
RANGE BETWEEN 2 PRECEDING AND CURRENT ROW
. Diese RANGE-Klausel enthält den aktuellen Monat und die vorherigen zwei Monate, was insgesamt 3 Monate ergibt.
Wenn Sie ein Dataset veröffentlichen, das eine Fensterfunktion mit enthält
RANGE
, darf die Anzahl der Zeilen im Fenster nicht mehr als 1.000 betragen. Wenn ein bestimmtes Fenster 1.000 Zeilen überschreitet, schlägt der Veröffentlichungsjob fehl.
gewinnen_boundary
Erforderliche Inhalte. Die Fenstergrenzen definieren die Start- und Endpunkte des Fensterrahmens. Fenstergrenzen sind relativ zur aktuellen Zeile.
A
PRECEDING
-Klausel definiert eine Fenstergrenze, die niedriger ist als die aktuelle Zeile (die Anzahl der Zeilen, die vor der aktuellen Zeile eingeschlossen werden sollen). Die
FOLLOWING
-Klausel definiert eine Fenstergrenze, die größer ist als die aktuelle Zeile (die Anzahl der Zeilen, die nach der aktuellen Zeile eingeschlossen werden sollen).
Wenn Sie nur eine Fenstergrenze angeben, verwendet Workday die aktuelle Zeile als die andere Grenze im Fensterrahmen (entweder die obere oder die untere Grenze, je nach Ausdruckssyntax). Die
UNBOUNDED
Das Schlüsselwort "" schließt alle Zeilen in der angegebenen Richtung ein. Wenn Sie sowohl den Start als auch das Ende eines Fensterrahmens angeben müssen, verwenden Sie den
BETWEEN
und
AND
Schlüsselwörter
Wenn Sie eine bestimmte Anzahl von Zeilen angeben, darf der
Wert
nicht mehr als 100 betragen.
Beispiel:
ROWS 2 PRECEDING
bedeutet, dass das Fenster 3 Zeilen umfasst, beginnend mit 2 Zeilen vor und einschließlich der aktuellen Zeile.
Beispiel:
ROWS UNBOUNDED FOLLOWING
bedeutet, dass das Fenster mit der aktuellen Zeile beginnt und die aktuelle Zeile und alle Zeilen einschließt, die nach der aktuellen Zeile kommen.

Beispiele

Beispiel: Sie haben ein Dataset mit diesen Zeilen und Feldern.
Supervisory Org
Quartal
Name
Vergütungsänderung
Marketing
2019-Q1
Goh
2000.00
Marketing
2019-Q1
Freiman
1000,00
Marketing
2019-Q1
Smith
2500.00
Beratung
2019-Q1
Gomez
5000.00
Beratung
2019-Q1
Kimura
3000.00
Beratung
2019-Q1
Passz
3500.00
Beratung
2019-Q2
Gomez
0
Beratung
2019-Q2
Kimura
2000.00
Beratung
2019-Q2
Passz
1.500,00
Sie können die niedrigste Änderung der Vergütung (Feld
Vergütungsänderung
) für jede Linienorganisation in jedem Quartal berechnen.
Um sicherzustellen, dass Workday für jede Zeile in einer Partition denselben Wert zurückgibt, sortieren Sie die Zeilen in aufsteigender Reihenfolge (
ASC
) nach demselben Feld wie das Eingabefeld, sodass die niedrigste Vergütungsänderung in jeder Partition zuerst erfolgt.
Verwenden Sie folgenden Ausdruck im Feld
Minimale Vergütungsänderung
:
MIN([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
Sie erhalten folgende Ergebnisse:
Supervisory Org
Quartal
Name
Vergütungsänderung
Minimale Vergütungsänderung
Beratung
2019-Q1
Kimura
3000.00
3000.00
Beratung
2019-Q1
Passz
3500.00
3000.00
Beratung
2019-Q1
Gomez
5000.00
3000.00
Beratung
2019-Q2
Gomez
0
0
Beratung
2019-Q2
Passz
1.500,00
0
Beratung
2019-Q2
Kimura
2000.00
0
Marketing
2019-Q1
Freiman
1000,00
1000,00
Marketing
2019-Q1
Goh
2000.00
1000,00
Marketing
2019-Q1
Smith
2500.00
1000,00