Set analizi
Bir uygulamada bir seçim yaptığınızda, veride bir kayıt alt seti tanımlarsınız. Sum(), Max(), Min(), Avg() ve Count() gibi toplama işlevleri bu alt kümeye göre hesaplanır.
Başka bir deyişle, seçiminiz toplama işleminin kapsamını, hesaplamaların yapıldığı kayıt kümesini tanımlar.
Set analizi, geçerli seçim tarafından tanımlanan kayıt kümesinden farklı bir kapsam tanımlamak için bir yol sağlar. Bu yeni kapsam, alternatif bir seçim olarak da görülebilir.
Bu, geçerli seçimi belirli bir değerle, örneğin geçen yılın değeri veya küresel pazar payıyla karşılaştırmak istediğinizde yararlı olabilir.
Set ifadeleri
Set ifadeleri toplama fonksiyonlarının içinde ve dışında kullanılabilir ve küme ayraçları içine alınır.
Örnek: İç set ifadesi
Sum( {$<Year={2021}>} Sales )
Örnek: Dış set ifadesi
{<Year={2021}>} Sum(Sales) / Count(distinct Customer)
İç ve dış set ifadeleri hakkında daha fazla bilgi için bkz. İç ve dış set ifadeleri.
Set ifadesi aşağıdaki öğelerin birleşiminden oluşur:
-
Tanımlayıcılar. Bir set tanımlayıcısı, başka bir yerde tanımlanan bir seçimi temsil eder. Ayrıca verilerdeki belirli bir kayıt setini temsil eder. Geçerli seçim, bir seçim iminden seçim veya alternatif bir durumdan seçim olabilir. Basit bir ifade tek bir tanımlayıcıdan (geçerli seçimdeki tüm kayıtlar anlamına gelen {$} işareti gibi) oluşur.
Örnekler: $, 1, BookMark1, State2
Bkz. Set tanımlayıcıları
-
İşleçler. Bir set işleci, farklı set tanımlayıcıları arasında birleşimler, farklılıklar veya kesişimler oluşturmak için kullanılabilir. Bu şekilde, set tanımlayıcıları tarafından tanımlanan seçimlerin bir alt kümesini veya bir üst kümesini oluşturabilirsiniz.
Örnekler: +, -, *, /
Bkz. Set işleçleri
-
Değiştiriciler. Seçimini değiştirmek için set tanımlayıcısına bir set değiştirici eklenebilir. Değiştirici kendi başına da kullanılabilir, bu durumda varsayılan tanımlayıcıyı değiştirir. Değiştirici, köşeli parantez (<…>) içine alınmalıdır.
Örnekler: <Year={2020}>, <Supplier={ACME}>
Bkz. Set değiştiricileri
Öğeler birleştirilerek set ifadeleri oluşturulur.
Örneğin yukarıdaki set ifadesi Sum(Sales) toplamasından oluşturulmuştur.
İlk işlenen, geçerli seçim için 2021 yılının satışlarını döndürür. Bu durum, $ set tanımlayıcısı ve 2021 yılının seçimini içeren değiştirici tarafından belirtilmektedir. İkinci işlenen, Sweden için Sales değerini döndürür ve 1 set tanımlayıcısı tarafından belirtilen geçerli seçimi yok sayar.
Son olarak söz konusu ifade, + set işlecinde belirtildiği üzere iki set işleneninden herhangi birine ait kayıtları içeren seti döndürür.
Söz dizimi ile ilgili tam açıklama için bkz. Set ifadeleri için sözdizimi.
Örnekler
Yukarıdaki set ifadesi öğelerini birleştiren örnekler aşağıdaki konularda bulunabilir:
Bazı başka ifadeleri denemek için bkz. Öğretici - Bir küme ifadesi oluşturma .
Doğal setler
Genellikle, bir set ifadesi hem veri modelindeki bir kayıt kümesini hem de bu veri alt kümesini tanımlayan bir seçimi temsil eder. Bu durumda sete doğal set denir.
Set tanımlayıcıları (set değiştiricileri olsun veya olmasın) her zaman doğal setleri temsil eder.
Bununla birlikte, set işleçlerini kullanan bir set ifadesi aynı zamanda kayıtların bir alt kümesini temsil eder ancak yine de bir dizi alan değeri kullanılarak açıklanamaz. Böyle bir ifade doğal olmayan bir settir.
Örneğin, {1-$} tarafından verilen set her zaman bir seçimle tanımlanamaz. Bu nedenle doğal bir set değildir. Bu, aşağıdaki verileri yükleyerek, bir tabloya ekleyerek ve ardından filtre bölmelerini kullanıp seçimler yaparak gösterilebilir.
Load * Inline
[Dim1, Dim2, Number
A, X, 1
A, Y, 1
B, X, 1
B, Y, 1];
Dim1 ve Dim2 için seçimler yaparak aşağıdaki tabloda gösterilen görünümü elde edersiniz.
İlk hesaplamadaki set ifadesi doğal bir set kullanır: {$} yapılan seçime karşılık gelir.
İkinci hesaplama farklıdır. {1-$} kullanır. Bu sete karşılık gelen bir seçim yapmak mümkün değildir, dolayısıyla bu doğal olmayan bir settir.
Bu ayrımın birkaç sonucu vardır:
-
Set değiştiricileri yalnızca set tanımlayıcılarına uygulanabilir. Rastgele bir set ifadesine uygulanamaz. Örneğin, aşağıdaki gibi bir set ifadesi kullanmak mümkün değildir:
{ (BM01 * BM02) <Field={x,y}> }
Burada, normal (yuvarlak) parantezler, set değiştirici uygulanmadan önce BM01 ile BM02 arasındaki kesişimin değerlendirilmesi gerektiğini belirtir. Bunun nedeni, değiştirilebilecek bir öğe seti olmamasıdır.
-
Doğal olmayan setleri P() ve E() öğe fonksiyonları içinde kullanamazsınız. Bu fonksiyonlar bir öğe seti döndürür, ancak öğe setini doğal olmayan bir setten çıkarmak mümkün değildir.
-
Veri modelinde çok sayıda tablo varsa, doğal olmayan bir set kullanan bir hesaplama her zaman doğru boyutsal değerle ilişkilendirilemez. Örneğin aşağıdaki grafikte, hariç tutulan bazı satış rakamları doğru Country ile ilişkilendirilirken, diğerleri Country olarak NULL içerir.
Atamanın doğru yapılıp yapılmadığı veri modeline bağlıdır. Bu durumda, seçim tarafından hariç tutulan bir ülkeye aitse numara atanamaz.
Tanımlayıcı | Açıklama |
---|---|
1 | Yapılan her tür seçimden bağımsız olarak, uygulamadaki tüm kayıtların tam kümesini temsil eder. |
$ | Geçerli seçimin kayıtlarını temsil eder. {$} set ifadesi bu nedenle bir set ifadesi belirtmemekle eşdeğerdir. |
$1 | Önceki seçimi temsil eder. $2 öncekinden bir önceki seçimi temsil eder ve bu böyle devam eder. |
$_1 | Sonraki (ileri yönde) seçimi temsil eder. $_2 sonrakinden bir sonraki seçimi temsil eder ve bu böyle devam eder. |
BM01 | Herhangi bir yer işareti kimliği veya seçim imi adı kullanabilirsiniz. |
MyAltState | Alternatif durumdaki seçimlere, durum adına göre referansta bulunabilirsiniz. |
Örnek | Sonuç |
---|---|
sum ({1} Sales) | Seçimleri göz ardı ederek ancak boyutu dikkate alarak, uygulama için toplam satışları döndürür. |
sum ({$} Sales) |
Geçerli seçim için satışları döndürür; yani sum(Sales) ile aynıdır. |
sum ({$1} Sales) |
Önceki seçim için satışları döndürür. |
sum ({BM01} Sales) |
BM01 seçim imi adı için satışları döndürür. |
Örnek | Sonuç |
---|---|
sum({$<OrderDate = DeliveryDate>} Sales) | Geçerli seçim için OrderDate = DeliveryDate koşulunu taşıyan satışları döndürür. |
sum({1<Region = {US}>} Sales) |
Geçerli seçimi göz ardı ederek, ABD bölgesi için satışları döndürür. |
sum({$<Region = >} Sales) |
Seçim için satışları döndürür, ancak Region içindeki seçim kaldırılır. |
sum({<Region = >} Sales) |
Yukarıdaki örnek ile aynı sonucu döndürür. Değiştirilecek set atlandığında, $ varsayılır. |
sum({$<Year={2000}, Region={“U*”}>} 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. |