Ana içeriğe geç

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 işlevlerinin içinde ve küme parantezleri arasına alınmış olarak kullanılır. Örneğin:

Sum( {$<Year={2021}>} Sales )

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.

Set ifadesindeki öğeler

Set ifadesindeki öğeler.

Bu 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:

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.

Doğal ve doğal olmayan setlerden oluşan tablo

Doğal ve doğal olmayan setlerden oluşan tablo.

İ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.

    Doğal olmayan set içeren grafik

    Doğal olmayan set içeren tablo.

    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.