Tahle věc uživatele Power BI docela mate. Když se zapisuje funkce SAMEPERIODLASTYEAR (nebo TOTALYTD a spousta dalších funkcí pro práci s časem), je někdy (ale jen někdy) třeba používat třetí argument, funkci ALL.

A kdy tedy ano a kdy ne?

Míry pracující s časovými funkcemi se dají zapisovat cca dvěma způsoby. Buď pracujete s datumovým sloupečkem, který je ve stejné tabulce jako počítané hodnoty, nebo pracujete s připojenou časovou dimenzí.

První možnost – používáme datumový sloupec ze stejné tabulky

To, co počítáme, i datumový sloupec, jsou v jedné tabulce. To se hodí u nejjednodušších modelů.

V tomto případě funkci ALL potřebujete, zápis pak vypadá např. takto:

  • Last year = CALCULATE(sum(‘Long data'[Price]);SAMEPERIODLASTYEAR(‘Long data'[Date]);ALL())

Druhá možnost – používáme datum z připojené časové dimenze

Datum, který používáme jako argument pro SAMEPERIODLASTYEAR, je v datumové tabulce připojené relací.

V tomto případě funkci ALL nepotřebujete, stačí zapsat něco jako:

  • Last year = CALCULATE(sum(‘Long data'[Price]);SAMEPERIODLASTYEAR(‘Time dimension'[Date]))

Takže zjednodušeně

Když máš dimenzi, nemusíš mít ALL. Když nemáš dimenzi, musíš mít ALL.