Set değiştiricileri

Bir küme, ek veya değiştirilmiş bir seçimle değiştirilebilir. Bu tür bir değişim, set ifadesinde yazılabilir.

Değiştirici, her birini alan üzerinde yapılması gereken bir seçimin izlediği ve tümü < ile > arasına alınmış bir veya birkaç alan adından oluşur. Örneğin: <Year={2007,+2008},Region={US}>. Alan adları ve alan değerleri normalde olduğu gibi alıntılanabilir; örneğin, <[Sales Region]={’West coast’, ’South America’}>.

Bir set değiştiricisi, önceki set tanımlayıcısının seçimini değiştirir. Hiçbir set tanımlayıcısına başvuruda bulunulmuyorsa, geçerli seçim durumu örtüktür.

Aşağıda açıklandığı gibi, seçimi değiştirmenin çeşitli yolları vardır.

Başka bir alanı temel alarak

Basit bir durum, başka bir alanın seçilen değerlerini temel alan bir seçimdir; örneğin <OrderDate = DeliveryDate>. Bu değiştirici, seçilen değerleri DeliveryDate öğesinden alır ve bunları OrderDate öğesine bir seçim olarak uygular. Birkaç yüzü aşacak kadar çok sayıda tekil değer mevcutsa, bu işlem CPU'yu yoğun olarak kullanır ve bu işlemden kaçınılmalıdır.

Unsur setlerini temel alarak (değiştiricide bir alan değeri listesi)

En yaygın görülen durum, değerler virgüllerle ayrılmış şekilde, süslü ayraçlar arasına alınmış bir alan değeri listesini temel alan bir seçimdir; örneğin, <Year = {2007, 2008}>. Buradaki süslü ayraçlar, unsurlarının alan değerleri veya alan değerlerinin aramaları olabileceği bir unsur setini tanımlar. Arama her zaman çift tırnak kullanımıyla tanımlanır; örneğin <Ingredient = {"*Garlic*"}> ifadesi 'garlic' dizesini içeren tüm bileşenleri seçer. Aramalar büyük/küçük harf duyarlı değildir ve hariç tutulan değerler üzerinde de gerçekleştirilir.

Zorunlu dışlama

Son olarak, AND modundaki alanlar için zorunlu dışlama olasılığı da mevcuttur. Belirli alan değerlerine zorunlu hariç tutma uygulamak istiyorsanız, alan adının önünde “~” işaretini kullanmanız gerekir.

Örnekler ve sonuçlar:  

Örnekler Sonuçlar
sum( {1<Region= {USA} >} Sales ) Geçerli seçimi göz ardı ederek, USA bölgesi için satışları döndürür.
sum( {$<Region = >} Sales ) Geçerli seçim için satışları döndürür, ancak 'Region' içindeki seçim kaldırılır.
sum( {<Region = >} Sales )

Hemen üstteki örnek ile aynı sonucu döndürür. Değiştirilecek set atlandığında, $ varsayılır.

Note: Önceki iki örnekteki söz dizimi, 'Region' içinde "seçim yok" olarak yorumlanır; yani diğer seçimlerin olası olduğu düşünüldüğünde tüm bölgelerdir. Bu, bölge yok olarak yorumlanan <Region = {}> söz dizimi (veya örtük bir şekilde boş bir unsur setiyle sonuçlanan, eşittir işaretinin sağ tarafındaki herhangi bir diğer metin) ile eşdeğer değildir.
sum( {$<Year = {2000}, Region = {US, SE, DE, UK, FR}>} Sales ) Geçerli seçim için satışları döndürür, ancak hem 'Year' hem de 'Region' içindeki yeni seçimleri içerir.
sum( {$<~Ingredient = {“*garlic*”}>} Sales )

Ingredient alanı AND modundadır.

'garlic' dizesini içeren tüm Ingredients üzerinde zorunlu dışlama ile, geçerli seçim için satışları döndürür.

sum( {$<Year = {“2*”}>} Sales ) "2" basamağıyla başlayan tüm yıllar, yani büyük olasılıkla 'Year' alanında seçilen, 2000 yılı ve sonraki yıllar ile, geçerli seçim için satışları döndürür.
sum( {$<Year = {“2*”,”198*”}>} Sales ) Yukarıdaki gibidir; ancak bu kez seçime 1980'ler de dahil edilir.
sum( {$<Year = {“>1978<2004”}>} Sales ) Geçerli seçimler için satışları, satışın toplanacağı yıl aralığının kapsamını belirlemek için kullanılan sayısal bir aramayla döndürür.