Funkcija CALCULATE

CALCULATE je jedna od najčešće korišćenih funkcija prilikom pisanja DAX izraza. Upotrebljava se za izračunavanje uz pomoć neke od funkcija za agregaciju uz istovremenu upotrebu jednog ili više filtera. Nije neispravno da se upotrebi i bez filtera, ali to baš i nema puno smisla. Snagu ove funkcije čini mogućnost kombinovanja sa brojnim funkcijama koje sužavaju skup podataka za koje se vrši agregacija…

Najpre, hajde da pokažemo sintaksu ove funkcije:

CALCULATE(<izraz>,<filter1>,…,<filtern>)

Prvi argument funkcije je izraz napisan uz pomoć funkcije za agregaciju podataka (SUM, SUMX, AVERAGE, AVERAGEX itd.). Svi sledeći argumenti su filteri, a u tu svrhu možemo da upotrebimo neku od funkcija ili konkretan iskaz u kome navodimo vrednost filtera. U primerima koji slede pokazaćemo neke moguće primene funkcije CALCULATE:

PrometSvihPiva:=CALCULATE(SUM([IZNOS]),Artikli[KLASIFIKACIJA]=”Piva”)

PrometJelenPiva:=CALCULATE(SUM([IZNOS]),Artikli[KLASIFIKACIJA]=”Piva”,Artikli[ROBNA MARKA]=”JELEN”)

PrometJelenPivaKolVecaod50:=CALCULATE(SUM([IZNOS]),Artikli[KLASIFIKACIJA]=”Piva”,
Artikli[ROBNA MARKA]=”JELEN”,Transakcije[KOL]>50)

00127-1

Prvi iskaz računa promet (sumu iznosa) svih prodatih piva, drugi se odnosi na promet Jelen piva, a treći na promet Jelen Piva kada je količina na fakturi bila veća od 50.

Kao filter se mogu koristiti i neke druge funkcije, o čemu će biti reč u tekstovima koji slede.