Ir vairākas operācijas,kuras var veikt ar kopām : - {set1, set2, ..., setn} - atgriež divu vai vairāku kopu apvienojumu
- Except(set1, set2) - " Izņemot " atgriež to rādītājus, kas ir iekļauti set1, bet atsijā tos, kas ir iekļauti arī set2.
- Head(set, number) - "Galva" atgriež kopu ar pirmajiem n (atkarībā no tā, kāda ir noteikta " number " vērtība - 1, 2 .vai .n) rādītājus no oriģinālās kopas ( ja number nav noteikts tad kopa sākot ar tās pirmo rādītāju tiks atgriezta rezultātā ).
- Tail(set, number) - atgriež pēdējos n ( atkarīgs kāds ir "number " ) rādītājus šajā kopā
- set.Item(position) - atgriež vienu rādītāju no kopas ar īpašu norādītu pozīciju ( position) (sākot no nulles). Tādēl, ja jūs vēlaties iegūt kopas pirmo rādītāju, jūs varat izmantot izteiksmi Head(set).Item(0).
Diezgan bieži jums būs nepieciešamība filtrēt kopas rādītājus izmantojot kādu nosacījumu. Jūs to varat izdarīt izmantojot Filter(set, condition), kur set - kopa, condition - nosacījums. Piemēram šadā veidā jūs varat atlasīt visas pilsētas, kru pārdošanas rezultāti ir lielāki par 1000 : Filter(Customers.City.Members, Measures.Store Sales > 1000)
- Nosacījumā parasti [Customers].CurrentMember izteiksme atsaucas uz patreizējo, tekošo rādītāju kopu, priekš kura nosacījums tiek veidots.
- Piemēram šī te izteiksme atgriezīs visas pilsētas, kuru nosaukums sākas ar " San" (izmantojot MATCHES ( atbilst) operātoru ar regular expression - atbilstību kādai konkrētai simbolu virknei ) :
Filter(Customers.City.Members, Customers.CurrentMember.Name MATCHES 'San .*') - Vēl kāda tipiska funkcija, kas tiek izmantota darbībām ar kopām ir IsEmpty. Sekojoša izteiksme atgriezīs visas pilsētas kā rezultātu, kurā nav tukši pārdošanas apjomi :
Filter(Customers.City.Members, NOT IsEmpty(Measures.Store Sales)) Ieriekš apskatītā vienkārša teksta tipa funkcija SetToStr ir noderīga lai pārbaudītu sastādīto izteiksmju pareizību. Bet ja jūs vēlaties formatēt kopas rezultātu nestandarta veidā, tad varat izmantot Generate(set, string_expression, separator_string). Piemēram sekojoša izteiksme atgriezīs rezultātā pilsētu nosaukumus atdalītus ar komatiem, kur nav informācijas par pārdošanas apjomiem ( IsEmty(measures.Store Sales) Generate( Filter(Customers.City.Members, IsEmpty(Measures.Store Sales)), Customers.CurrentMember.Name, ', ')
|