Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Sintaxis
List.Accumulate(
list as list,
seed as any,
accumulator as function
) as any
Acerca de
Acumula un valor de resumen de los elementos de la lista especificada mediante el acumulador.
-
list: La lista a iterar. -
seed: valor acumulado inicial. -
accumulator: función que toma el estado actual y el elemento actual y devuelve el nuevo estado.
Ejemplo 1
Acumula el valor de resumen de los elementos de la lista.
Uso
let
Source = List.Accumulate(
{1, 2, 3, 4, 5},
0,
(runningSum, nextNumber) => runningSum + nextNumber
)
in
Source
Salida
15
Ejemplo 2
Concatene cada palabra de la lista con un espacio entre, pero no incluya un espacio al principio.
Uso
let
Source = List.Accumulate(
{"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."},
null,
(fullTextSoFar, nextPart) =>
Text.Combine({fullTextSoFar, nextPart}, " ")
)
in
Source
Salida"The quick brown fox jumps over the lazy dog."
Ejemplo 3
Cree una lista de horas de finalización de procesos a partir de una fecha de inicio y una lista de tiempos de ejecución de procesos.
Uso
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"
Salida
{
#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)
}