0 / 0
Go back to the English version of the documentation
Sıra işlevleri
Last updated: 04 Tem 2023
Sıra işlevleri (SPSS Modeler)

Bazı operasyonlar için, olayların sırası önemlidir.

Uygulama, aşağıdaki kayıt sıralarıyla çalışmanıza olanak sağlar:

  • Sıralar ve zaman dizisi
  • Sıra işlevleri
  • Kayıt dizinleme
  • Değerleri ortalaması, toplama ve karşılaştırma değerleri
  • Değişiklik değişikli-farklılaştırma
  • @SINCE
  • Göreli konum değerleri
  • Ek sıra tesisleri

Birçok uygulama için, bir akıştan geçen her kayıt, diğerlerinden bağımsız olarak ayrı bir vaka olarak düşünülebilmektedir. Bu tür durumlarda, kayıtların sırası genellikle önemsizdir.

Ancak bazı sorunlar için kayıt düzeni çok önemlidir. Bunlar genellikle zaman dizisi durumlarıdır; bu durum, kayıtların sırasının sıralı bir olay dizisini ya da oluşumları temsil eder. Her bir kayıt belirli bir andaki anlık görüntüyü temsil eder; ancak, en zengin bilgilerin çoğu, anlık değerler içinde olmayabilir, ancak bu tür değerlerin zaman içinde değişip davranış biçimlerinde yer almakla birlikte kullanılabilir.

Tabii ki, ilgili parametre zaman dışında bir şey olabilir. Örneğin, kayıtlar, bir hat boyunca uzaklıklarda gerçekleştirilen çözümlemeleri gösterebilir, ancak aynı ilkeler geçerli olur.

Sıra ve özel işlevler aşağıdaki özellikler tarafından hemen tanınabilir:

  • Bunların başında @öneki vardır.
  • İsimleri büyük harfle verilmiştir.

Sıra işlevleri, şu anda bir düğüm tarafından işlenmekte olan kayda, bir düğümden geçmiş olan kayıtları ve hatta bir durumda henüz geçmemiş kayıtları bir düğümden geçirmekte olan kayıtları ifade edebilir. Sıra işlevleri, CLEM ifadelerinin diğer bileşenleriyle birlikte rahatça karıştırılabilir, ancak bazıları bağımsız değişkenleri olarak nelerin kullanılabileceğiyle ilgili kısıtlamalar vardır.

Örnekler

Belirli bir olayın ortaya çıktığından ya da koşulun doğru olduğundan ne kadar süredir olduğunu bilmek yararlı olabilir. Bunu yapmak için @SINCE işlevini kullanın; örneğin:

@SINCE(Income > Outgoings) 

Bu işlev, bu koşulun doğru olduğu son kaydın göreli konumunu döndürür; yani, koşulun doğru olduğu bu kayıttan önceki kayıtların sayısıdır. Koşul hiçbir zaman doğru olmadıysa @SINCE , @INDEX + 1değerini döndürür.

Bazen, @SINCEtarafından kullanılan ifadede geçerli kaydın bir değerine başvuruda bulunmak isteyebilirsiniz. Bu işlemi, bir alan adının her zaman geçerli kayıt için geçerli olduğunu belirten @THISişlevini kullanarak yapabilirsiniz. Bir Concentration alan değerine sahip olan son kaydın, geçerli kayıtta iki katından daha fazla olan göreli konumu bulmak için aşağıdaki özellikleri kullanabilirsiniz:

@SINCE(Concentration > 2 * @THIS(Concentration)) 

Bazı durumlarda, @SINCE değerine verilen koşul, yürürlükteki kayıt tanımından (örneğin:) doğrudur:

@SINCE(ID == @THIS(ID)) 

Bu nedenle, @SINCE , geçerli kayıt için koşulunu değerlendirmez. Benzer bir işlevi ( @SINCE0), geçerli kaydın yanı sıra önceki olanları da değerlendirmek istiyorsanız; bu koşul geçerli kayıtta doğru ise, @SINCE0 , 0değerini döndürür.

Tablo 1. CLEM sıra işlevleri
İşlev Sonuç Açıklama
MEAN(FIELD) Real Belirtilen FIELD ya da FIELDSiçin ortalama değer ortalamasını döndürür.
@MEAN(FIELD, EXPR) Real Geçerli kayıt da içinde olmak üzere, geçerli düğüm tarafından alınan son EXPR kayıtlarından FIELD için ortalama değer ortalamasını döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir. EXPR atlanırsa ya da şu ana kadar alınan kayıt sayısını aşarsa, şu ana kadar alınan kayıtların tümü için ortalama değer döndürülür.
@MEAN(FIELD, EXPR, INT) Real Geçerli kayıt da içinde olmak üzere, geçerli düğüm tarafından alınan son EXPR kayıtlarından FIELD için ortalama değer ortalamasını döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir. EXPR atlanırsa ya da şu ana kadar alınan kayıt sayısını aşarsa, şu ana kadar alınan kayıtların tümü için ortalama değer döndürülür. INT , geriye bakacak değer sayısı üst sınırını belirtir. Bu sadece iki argümanın kullanılmasından çok daha verimlidir.
@DIFF1(FIELD) Real FIELD' ın ilk farkını döndürür. Tek bağımsız değişken form, bu nedenle yalnızca geçerli değer ile alanın önceki değeri arasındaki farkı döndürür. İlgili önceki kayıtlar yoksa, $null$ değerini döndürür.
@DIFF1(FIELD1, FIELD2) Real The two-argument form gives the first differential of FIELD1 with respect to FIELD2. İlgili önceki kayıtlar yoksa, $null$ değerini döndürür. Bu, @DIFF1(FIELD1)/@DIFF1(FIELD2)olarak hesaplanır.
@DIFF2(FIELD) Real FIELD' ın ikinci diferansiyelisini döndürür. Tek bağımsız değişken form, bu nedenle yalnızca geçerli değer ile alanın önceki değeri arasındaki farkı döndürür. İlgili önceki kayıtlar yoksa, $null$ değerini döndürür. @DIFF2 , @DIFF(@DIFF(FIELD))olarak hesaplanır.
@DIFF2(FIELD1, FIELD2) Real İki bağımsız değişkenli form, FIELD1 ' in ikinci diferansiyelisini FIELD2ile ilgili olarak verir. İlgili önceki kayıtlar yoksa, $null$ değerini döndürür. Bu karmaşık bir hesaplamadır -- @DIFF1(FIELD1)/@DIFF1(FIELD2) - @OFFSET(@DIFF1(FIELD1),1)/@OFFSET(@DIFF1(FIELD2))) / @DIFF1(FIELD2).
@INDEX Tamsayı Geçerli kaydın dizinini döndürür. Dizinler, geçerli düğüme vardıkları şekilde kayıtlara ayrılır. İlk kayda dizin 1 değeri verilir ve dizin izleyen her bir kayıt için 1 artırılır.
@LAST_NON_BLANK(FIELD) Herhangi Biri Bir yukarı akım kaynağı ya da Tip düğümünde tanımlandığı şekilde, boş olmayan FIELD için son değeri döndürür. Şu ana kadar okunan kayıtlarda FIELD için boş olmayan değerler yoksa, $null$ döndürülür. Kullanıcı-eksik değerler olarak da adlandırılan boş değerlerin her alan için ayrı olarak tanımlanabileceğini unutmayın.
@MAX(FIELD) Numara Belirtilen FIELDiçin değer üst sınırını döndürür.
@MAX(FIELD, EXPR) Numara Yürürlükteki kayıt da içinde olmak üzere, şimdiye kadar alınan son EXPR kaydı üzerinden FIELD için üst sınır değerini döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir.
@MAX(FIELD, EXPR, INT) Numara Yürürlükteki kayıt da içinde olmak üzere, şimdiye kadar alınan son EXPR kaydı üzerinden FIELD için üst sınır değerini döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir. EXPR atlanırsa ya da şu ana kadar alınan kayıt sayısını aşarsa, şimdiye kadar alınan kayıtların tümü için değer üst sınırı döndürülür. INT , geriye bakacak değer sayısı üst sınırını belirtir. Bu sadece iki argümanın kullanılmasından çok daha verimlidir.
@MIN(FIELD) Numara Belirtilen FIELDiçin alt sınır değerini döndürür.
@MIN(FIELD, EXPR) Numara Geçerli kayıt da içinde olmak üzere, şimdiye kadar alınan son EXPR kayıt üzerinden FIELD için minimum değeri döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir.
@MIN(FIELD, EXPR, INT) Numara Geçerli kayıt da içinde olmak üzere, şimdiye kadar alınan son EXPR kayıt üzerinden FIELD için minimum değeri döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir. EXPR atlanırsa ya da şu ana kadar alınan kayıt sayısını aşarsa, şimdiye kadar alınan kayıtların tümü için değer alt sınırı döndürülür. INT , geriye bakacak değer sayısı üst sınırını belirtir. Bu sadece iki argümanın kullanılmasından çok daha verimlidir.
@OFFSET(FIELD, EXPR) Herhangi Biri Returns the value of ALAN in the record offset from the current record by the value of EXPR. Pozitif göreli konum, önceden geçilen bir kaydı ("geriye bakma") ifade ederken, negatif bir değer henüz gelişi olan bir kaydı "ileriye bakma" olarak belirtir. For example, @OFFSET(Status, 1) returns the value of the Status field in the previous record, while @OFFSET(Status, –4) "looks ahead" four records in the sequence (that is, to records that have not yet passed through this node) to obtain the value. Negatif (ileriye bakma) göreli konumunun sabit olarak belirtilmesi gerektiğini unutmayın. Yalnızca pozitif göreli konular için EXPR , göreli konum vermek için geçerli kayıt için değerlendirilen isteğe bağlı bir CLEM ifadesi de olabilir. Bu durumda, bu işlevin üç bağımsız değişkenli sürümünün başarımı artırması gerekir (sonraki işleve bakın). İfade negatif olmayan bir tamsayıdan başka bir şey döndürürse, bu bir hataya neden olur; yani, hesaplanan arama göreli konumlarını hesaplamanın yasal olmadığı bir durum değildir. Kendi kendine gönderisel @OFFSET işlevinin hazır bilgi arama işlevini kullanamadığını unutmayın. For example, in a Filler node, you can't replace the value of field1 using an expression such as @OFFSET(field1,-2). Filler düğümünde bir alanı doldururken, bu alanın, önceden doldurulan değer ve sonradan doldurulan değer olmak üzere iki farklı değeri etkili olur. @OFFSET kendisine gönderme yaptığı zaman, post dolgulu değeri belirtir. Bu post-filed değeri yalnızca geçmiş satırlar için var, bu nedenle kendi gönderisel @OFFSET yalnızca geçmiş satırlara başvurabilir. Kendi gönderisel @OFFSET , geleceğe gönderme yapmadığı için, göreli konumun aşağıdaki denetimlerini gerçekleştirir:
  • Göreli konum hazır bilgi ise ve ileriyse, yürütme başlamadan önce bir hata raporlanır.
  • Göreli konum bir ifadese ve yürütme sırasında ileriyi değerlendirirse, @OFFSET , $null$değerini döndürür.
Bir düğüm içinde hem "lookhead" hem de "lookback" kullanılmasının desteklenmediğini unutmayın.
@OFFSET(FIELD, EXPR, INT) Herhangi Biri Üçüncü bağımsız değişkenin ( INT) eklenmesiyle aynı işlemi @OFFSET işleviyle gerçekleştirir; bu bağımsız değişken, geriye bakacak değer sayısı üst sınırını belirtir. Göreli konum bir ifadeden hesaplanacağı durumlarda, bu üçüncü bağımsız değişken başarımı artırmalıdır. For example, in an expression such as@OFFSET(Foo, Month, 12), the system knows to keep only the last twelve values of Foo; otherwise, it has to store every value just in case. Kayma değerinin sabit olduğu "ileriye bakma" göreli konumlarının sabit olduğu durumlarda, üçüncü bağımsız değişken anlamsızdır ve bu işlevin iki bağımsız değişkenli sürümü kullanılmalıdır. Ayrıca, daha önce açıklanan iki bağımsız değişken sürümündeki özgönderili işlevlerle ilgili not da bakın. Bir düğüm içinde hem "lookhead" hem de "lookback" kullanılmasının desteklenmediğini unutmayın.
@SDEV(FIELD) Real Belirtilen FIELD ya da FIELDSiçin değerlerin standart sapmasını döndürür.
@SDEV(FIELD, EXPR) Real Geçerli kayıt da içinde olmak üzere, geçerli düğüm tarafından alınan son EXPR kayıtları üzerinden FIELD değerlerine ilişkin değerlerin standart sapmasını döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir. EXPR atlanırsa ya da şu ana kadar alınan kayıt sayısını aşarsa, şu ana kadar alınan tüm kayıtlar için standart sapma döndürülür.
@SDEV(FIELD, EXPR, INT) Real Geçerli kayıt da içinde olmak üzere, geçerli düğüm tarafından alınan son EXPR kayıtları üzerinden FIELD değerlerine ilişkin değerlerin standart sapmasını döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir. EXPR atlanırsa ya da şu ana kadar alınan kayıt sayısını aşarsa, şu ana kadar alınan tüm kayıtlar için standart sapma döndürülür. INT , geriye bakacak değer sayısı üst sınırını belirtir. Bu sadece iki argümanın kullanılmasından çok daha verimlidir.
@SINCE(EXPR) Herhangi Biri Returns the number of records that have passed since EXPR, an arbitrary CLEM expression, was true.
@SINCE(EXPR, INT) Herhangi Biri İkinci bağımsız değişkenin ( INT) eklenmesi, geriye bakalacak kayıt sayısı üst sınırını belirtir. EXPR hiçbir zaman true olmadıysa, INT @INDEX+1olur.
@SINCE0(EXPR) Herhangi Biri Considers the current record, while @SINCE does not; @SINCE0 returns 0 if EXPR is true for the current record.
@SINCE0(EXPR, INT) Herhangi Biri İkinci bağımsız değişkenin eklenmesi, DNT arana bakacak kayıt sayısı üst sınırını belirtir.
@SUM(FIELD) Numara Belirtilen FIELD ya da FIELDSiçin değer toplamını döndürür.
@SUM(FIELD, EXPR) Numara Geçerli kayıt da içinde olmak üzere, geçerli düğüm tarafından alınan son EXPR kayıt üzerinden FIELD değer toplamını döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir. EXPR atlanırsa ya da şu ana kadar alınan kayıt sayısını aşarsa, şu ana kadar alınan tüm kayıtların toplamını döndürülür.
@SUM(FIELD, EXPR, INT) Numara Geçerli kayıt da içinde olmak üzere, geçerli düğüm tarafından alınan son EXPR kayıt üzerinden FIELD değer toplamını döndürür. FIELD , sayısal bir alanın adı olmalıdır. EXPR , 0 'dan büyük bir tamsayıya ilişkin herhangi bir ifade için olabilir. EXPR atlanırsa ya da şu ana kadar alınan kayıt sayısını aşarsa, şu ana kadar alınan tüm kayıtların toplamını döndürülür. INT , geriye bakacak değer sayısı üst sınırını belirtir. Bu sadece iki argümanın kullanılmasından çok daha verimlidir.
@THIS(FIELD) Herhangi Biri Geçerli kayıtta FIELD adlı alanın değerini döndürür. Yalnızca @SINCE ifadelerinde kullanılır.
Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more