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.
Syntax
List.Accumulate(
list as list,
seed as any,
accumulator as function
) as any
About
Sammelt einen Sammelwert aus den Elementen in der angegebenen Liste mithilfe des Akkumulators.
-
list: Die zu durchlaufende Liste. -
seed: Ein anfänglicher akkumulierter Wert. -
accumulator: Eine Funktion, die den aktuellen Zustand und das aktuelle Element annimmt und den neuen Zustand zurückgibt.
Beispiel 1
Sammelt den Zusammenfassungswert aus den Elementen in der Liste.
Verwendung
let
Source = List.Accumulate(
{1, 2, 3, 4, 5},
0,
(runningSum, nextNumber) => runningSum + nextNumber
)
in
Source
Ausgabe
15
Beispiel 2
Verketten Sie jedes Wort in der Liste mit einem Leerzeichen dazwischen, fügen Sie jedoch kein Leerzeichen am Anfang ein.
Verwendung
let
Source = List.Accumulate(
{"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."},
null,
(fullTextSoFar, nextPart) =>
Text.Combine({fullTextSoFar, nextPart}, " ")
)
in
Source
Ausgabe"The quick brown fox jumps over the lazy dog."
Beispiel 3
Erstellen Sie eine Liste der Prozessabschlusszeiten, basierend auf einem Startdatum und einer Liste von Prozesslaufzeiten.
Verwendung
let
#"Process Duration" =
{
#duration(0,1,0,0),
#duration(0,2,0,0),
#duration(0,3,0,0)
},
#"Start Time" = #datetime(2025, 9, 8, 19, 0, 0),
#"Process Timeline" = List.Accumulate(
#"Process Duration",
{#"Start Time"},
(accumulatedTimes, nextDuration) =>
accumulatedTimes & {List.Last(accumulatedTimes) + nextDuration}
)
in
#"Process Timeline"
Ausgabe
{
#datetime(2025, 9, 8, 19, 0, 0),
#datetime(2025, 9, 8, 20, 0, 0),
#datetime(2025, 9, 8, 22, 0, 0),
#datetime(2025, 9, 9, 1, 0, 0)
}