Ana içeriğe geç Tamamlayıcı 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:

  • Identifiers. 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ı

  • Operators. 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

  • Modifiers. 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.

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

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.

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 seçim imi 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.

Daha fazla bilgi

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!