Získat hodnotu z předchozího řádku 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ě.
Tento krátký návod popisuje, jak v Power Query v Excelu nebo v dotazech Power BI získat hodnotu z předchozího (nebo předpředchozího, nebo následujícího...) řádku.
Jsou zde uvedeny dva postupy. Jeden kratší s využitím funkce List.Range. Druhý je delší, ale nevyžaduje přímé psaní v jazyce M.
Hodnota z předchozího řádku pomocí List.Range
Budeme chtít získat v každém řádku zvířátko z řádku předchozího. Např. pro Guinea pig se má objevit Hamster atd.
Pozor, v tabulce potřebuji mít indexovací sloupec.
Funkce pak vypadá takto:
- =List.Range(
Source[Animal],
[Index]-1,
1)
Protože:
- =List.Range(
Source[Animal], - sloupec, ze kterého se berou hodnoty
[Index]-1, - první položka v pořadí, kterou chceme získat je předchozí, tedy na Indexu se posuneme o jednu hodnotu zpět
1) - chceme vytáhnout vždy jen jednu položku
Po extrahování řádků vypadá tabulka nějak takto. Chybu z prvního řádku můžeme snadno nahradit za jakoukoliv jinou hodnotu.
Kromě uvedeného postupu se na to dá jít také trochu jinak, např tímto zápisem:
- =Source[Animal]{[Index]-2}
Hodnota z předchozího řádku, bez ručního psaní M
Tedy např. v této tabulce:
bychom chtěli získat hodnoty z předchozího řádku, takhle:
Jak na to?
Nejprve přidáme indexovací sloupec:
Pak přičteme jedničku (pokud se chceme vracet o jeden řádek):
Pak zmergujeme tabulku "samu se sebou". Klíčem bude posunoutý a neposunutý index:
Rozklikneme dvojitou šipku a zobrazíme původní hodnotu z propojeného dotazu:
Vyhodíme indexovací sloupce a je hotovo:
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.