DAX i veze između tabela
U jednom od ranijih tekstova bilo je reči o tome da u Model podataka dodajemo tabele i kreiramo veze između njih. Veze koje smo napravili ništa nam ne znače prilikom pisanja DAX izraza. Ako želimo da u formuli upotrebimo kolonu koja se nalazi u nekoj povezanoj tabeli to moramo na neki način da naglasimo. Ovo se radi upotrebom funkcija RELATED i RELATEDTABLE o kojima možete da saznate nešto više u tekstu koji sledi…
Hajde da vidimo kako se one koriste kroz jedan praktičan primer! Otvorimo prozor Modela podataka (Manage) i izaberimo tabelu Transakcije. Ova tabela je u vezi sa tabelama Artikli i Objekti, a u njoj se beleže transakcije- promet u maloprodajnim objektima. U tabeli imamo kolonu u kojoj su evidentirane prodate količine, a potrebno je da kreiramo novu koja će sadržati iznose prodaje, kao proizvod količina i prodajne cene. Ako bi smo probali da unesemo formulu:
=[KOL]*Artikli[PC]
Excel bi javio grešku. Iako smo napravili vezu između tabele Artikli i Transakcije on to ne može da „vidi“ u okviru DAX izraza.
Kako bi smo izbegli ovu grešku upotrebićemo funkciju RELATED:
=[KOL]*RELATED(Artikli[PC])
Funkcija RELATED ima za argument naziv kolone u susednoj, povezanoj tabeli. Ako unesemo formulu na ovaj način Excel neće prijaviti grešku. Samo bi bilo dobro da ime izračunate kolone promenimo u „IZNOS“ i moći ćemo da je upotrebimo kao izveštajnu dimenziju u PowerPivot tabeli.

Ako nam je za kreiranje izraza potreban broj redova u susednoj tabeli iskoristićemo funkciju RELATEDTABLE. Kreirajmo meru:
BrojArtikala:=COUNTROWS(RELATEDTABLE(Artikli))
Kao što se vidi, funkcija RELATEDTABLE takođe ima samo jedan argument, naziv tabele. Rezultat formule je broj zapisa u tabeli Artikli.