Vysčítávání sloupců přímo v Power Query není zase tak jednoduché, jak by se mohlo zdát.

Jak tedy do nového sloupce sečteme ceny všech položek?

Použijeme funkci List.Accumulate (z jazyka M), která prochází řádky a vysčítává je (odečítá, násobí… jinak upravuje).

Např. v této tabulce chceme do nového sloupce sečíst ceny všech zvířat:

Vytvoříme vlastní sloupec a zapíšeme tuto funkci:

  • =List.Accumulate(
       Animals[Price],
       0,
       (state, current) => state + current)

Protože:

  • =List.Accumulate( 
       Animals[Price] – název kroku v M (obvykle předchozí krok) a sloupec, který vysčítáváme
       0, – základ, ke kterému se přičte (nebo kterým se násobí atd.). V angličtině poeticky nazvané “seed”
       (state, current) => state + current) – vyjádření, že chceme např. sčítat

Další výpočty

List.Accumulate můžete obdobně používat např. pro spojování textů. Takto bychom spojili názvy zvířat:

Funkci List.Accumulate můžeme šikovně používat s funkcí List.Range, viz např. tento článek.