Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Синтаксис
List.Accumulate(
list as list,
seed as any,
accumulator as function
) as any
О нас
Накапливает сводное значение из элементов в указанном списке с помощью аккумулятора.
-
list: список для итерации. -
seed: начальное накапливаемое значение. -
accumulator: функция, которая принимает текущее состояние и текущий элемент и возвращает новое состояние.
Пример 1
Накапливает сводное значение из элементов в списке.
использование
let
Source = List.Accumulate(
{1, 2, 3, 4, 5},
0,
(runningSum, nextNumber) => runningSum + nextNumber
)
in
Source
Вывод
15
Пример 2
Объединить каждое слово в списке с пробелами между словами, без добавления пробела в начале.
использование
let
Source = List.Accumulate(
{"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."},
null,
(fullTextSoFar, nextPart) =>
Text.Combine({fullTextSoFar, nextPart}, " ")
)
in
Source
Вывод
"The quick brown fox jumps over the lazy dog."
Пример 3
Создайте список времени завершения процесса с даты начала и списка времени выполнения процесса.
использование
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"
Вывод
{
#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)
}