Dax pitanja i odgovori

ucimdax

Početnik
Poruka
7
Molim nekog da mi objasni korak po korak što se tu događa. Čitam eng forume nikako da shvatim.

Cumulative Total Sales :=
CALCULATE (
[Total Sales],
FILTER (
ALL ( DimDate[Datekey] ),
DimDate[Datekey] <= MAX ( ( DimDate[Datekey] ) )
)
)
 
Molim nekog da mi objasni korak po korak što se tu događa. Čitam eng forume nikako da shvatim.

Cumulative Total Sales :=
CALCULATE (
[Total Sales],
FILTER (
ALL ( DimDate[Datekey] ),
DimDate[Datekey] <= MAX ( ( DimDate[Datekey] ) )
)
)
Ne znam koji je jezik ali rekao bih da sumira po datumu sve sto sadrzi mapa a to su vrednosti pojedinacnih prodaja.
 
CALCULATE funkcija u DAX je neka verzija SUMIF /COUNIF u Excelu ako ti to bliže. U ovoj formuli TotalSales je neka prethodno definisana mera verovatno SUM(Sales). Drugi argument je kriterijum za filtriranje, u primeru zadat preko FILTER funkcije.
Glavni kriterijum za filtriranje je da se uzmu svi datumi manji od najvećeg Datakey (MAX) iz tabele Dimdate - verovatno svi manji od tekućeg datuma. Funkcija ALL u okviru FILTER je interesantna jer poništava sve primenjene filtere - npr neki Slicer.
 
Ne razumem odnos Filter i All funkcije šta se tu dešava. All briše sve kontekste odnosno filtriše
Kao što sam napisao ALL unutar FILTER poništava sve druge filtere koji su na neki način primenjeni na DimDate tabelu - npr. ako na tom listu imaš slicer za godinu i korisnik izabrao samo 2023 to neće uticati na rezultat ove formule - inače bez ALL uzeti bi bili samo datumi iz 2023 godine - tekući kontekst.

FILTER je totalno nepotreban jer se ne filtrira nista...
Kako znaš da ne filteriše ništa bez primera? Moja je pretpostavka da se DateDim tabala dinamički formira i da je poslednji datum tekući dan, pa se na taj način uzimaju samo datumi manji od tekućeg. Sigurno može i na drugi način.
 
Jednostavno ja to neshvatam. Moze netko da mi objasni funkciju calculate za početak. Gledam po yt ali bezuspješno. Kazu da briše sve filtere u vizualu u mjeri. Ali to nije dovoljno za razumevanje. Zahvaljujem unaprijed.
 
Poslednja izmena:

Back
Top