Tento článek se věnuje tomu, jak použít funkci SAMEPERIODLASTYEAR (a další funkce pro práci s časem) v kombinaci s filtrováním / průřezováním pomocí nějakého jiného grafu / filtru / průřezu.

Toto nemusí fungovat automaticky – pokud je SAMEPERIODLASTYEAR špatně zapsaná, pak v některých situacích zobrazuje chyby.

Budeme pracovat s touto tabulkou, která obsahuje datumy, čísla a kategorie.

Funkci SAMEPERIODLASTYEAR můžeme zapsat takto, a pokud nebudeme tabulku filtrovat, bude to fungovat:

  • Lastyear = CALCULATE(
       SUM(‘Table'[Number of something]),
       SAMEPERIODLASTYEAR(‘Table'[Day]),
       ALL())

Pokud bychom chtěli ale vizuál vyfiltrovat pouze pro konkrétní kategorii, vznikne chyba:

Co s tím?

Nejprve si vytvoříme novou tabulku pomocí funkce CALENDARAUTO.

Tuto tabulku připojíme relací na původní data.

Míru spočteme jinak – SAMEPERIODLASTYEAR použije sloupec z datumové dimenze a nepoužijeme funkci ALL. Ve vizuálu použijeme datumy z připojené kalendářní tabulky. 

  • Last Year = CALCULATE(
       SUM(‘Table'[Number of something]),
       SAMEPERIODLASTYEAR(‘Time dimension'[Date]))

Od této chvíle vše funguje jak má, a to i když vizuály filtrujeme.