Funkcija CONCATENATEX

Za spajanje stringova u DAX jeziku koristi se funkcija CONCATENATE. DAX poseduje i odgovarajuću „X“ funkciju koja se ponaša kao interator, a omogućava spajanje više stringova uz opciono navođenje znaka razdvajanja i smera sortiranja. U ovom tekstu saznaćete kako da iskoristite funkciju CONCATENATEX u konkretnom primeru, prikazom svih brendova u odnosu na filter proizvođača kome oni pripadaju.

Sintaksa ove funkcije je:

CONCATENATEX(<tabela>; <izraz>;
[<znak razdvajanja>];[<izraz sortiranja>];[<smer sortiranja>]) 

Prvi argument je tabela. Ovde možemo da navedemo i željenu filtersku funkciju ili neku drugu koja vraća tabelu. Na primer, upotrebom funkcije VALUES vraćamo jedinstvene vrednosti zadate kolone. Drugi argument predstavlja izraz. Kao izraz obično navodimo vrednosti koje spajamo, npr. naziv kolone iz koje će se preuzimati vrednosti. Treći, opcioni argument, je znak razdvajanja. To može da bude blanko, zarez, tačka-zarez itd. Ova funkcija omogućava da odredimo i smer sortiranja, što se postiže navođenjem argumenta prema kome se sortira i smera (ASC,DESC).

Kako da iskoristimo funkciju CONCATENATEX? Kreirali smo Power Pivot izveštaj u kome je prikazana suma prodatih količina u odnosu na proizvođače. Jedan proizvođač može imati nijedan, jedan ili više brendova. Ako želimo da izbegnemo kreiranje hijerarhijskog prikaza prema proizvođaču i robnoj marki to možemo da učinimo dodavanjem kolone u kojoj će biti izlistani svi brendovi. Ovo možemo da postignemo pomoću formule:

Nazivi brendova:= IF(HASONEVALUE(Artikli[PROIZVOĐAČ]);
CONCATENATEX(VALUES(Artikli[ROBNA MARKA]);Artikli[ROBNA MARKA];”,”;
Artikli[ROBNA MARKA];ASC);BLANK())

U ovoj formuli funkcija CONCATENATEX kao prvi argument uzima jedinstvene vrednosti robnih marki, dobijene vrednosti se razdvajaju zarezom, a zatim se soritraju prema rastućem redosledu.