List.Accumulate a výpočty nad celým sloupcem v Power Query
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
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.
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.