Tek bir tarihten bir tarih aralığı oluşturma
Bazen zaman aralıkları, açık bir şekilde belirli bir başlangıç ve bitiş zamanıyla depolanmaz. Bunun yerine tek bir alan ile belirtilirler: değişim zaman damgası.
Çok sayıda para birimi için para birimi oranlarına sahip olduğunuz aşağıdaki tabloda görüldüğü gibi bir durum olabilir. Her bir para biriminin kur değişimi kendi satırındadır ve her birinin yeni dönüştürme oranı vardır. Ayrıca tabloda, ilk değişikliğin yapılmasından önceki başlangıç dönüştürme oranına karşılık gelen boş tarihleri içeren satırlar bulunur.
Currency | Değiştirme Tarihi | Rate |
---|---|---|
EUR | - | 8.59 |
EUR | 28/01/2013 | 8.69 |
EUR | 15/02/2013 | 8.45 |
USD | - | 6.50 |
USD | 10/01/2013 | 6.56 |
USD | 03/02/2013 | 6.30 |
Bu tablo, başlangıç tarihinin "Change Date" olarak adlandırıldığı ve bitiş tarihinin de takip eden aralığın başlangıcıyla tanımlandığı bir dizi çakışmayan aralığı tanımlar. Ancak bitiş tarihi kendine ait bir sütunda açıkça depolanmadığından, yeni tablo bir aralık listesi haline gelecek şekilde böyle bir sütun oluşturmamız gerekir.
Aşağıdakileri yapın:
- Yukarıda gösterilen tabloyu içeren Rates.xlsx adında bir dosya oluşturun ve yüklenmeye hazır olarak depolayın.
- Çalışmak istediğiniz zaman aralığını belirleyin. Bu aralığın başlangıcı verilerdeki ilk tarihten önce ve aralığın bitişi de verilerdeki son tarihten sonra olmalıdır.
- Kaynak verileri yükleyin, ancak boş tarihleri önceki madde işaretinde tanımlanan aralığın başlangıcı olarak değiştirin. Değişiklik tarihi "From Date" olarak yüklenmelidir.
- Tabloyu önce Currency ve ardından "From Date" öğesine göre, en yeni tarihler en üstte olacak şekilde azalan düzende sıralayın.
- To Date değerini hesapladığınız verilerde ikinci bir geçiş yapın. Geçerli kaydın para birimi önceki kayıttan farklıysa, bu kayıt yeni bir para biriminin ilk kaydı demektir (ancak son aralığıdır) ve bu nedenle, 1. adımda tanımlanan aralığın sonunu kullanmalısınız. Aynı Para Birimi ise, önceki kayıttan "From Date" değerini alıp küçük bir zaman miktarını çıkarmalı ve bu değeri geçerli kayıtta "To Date" olarak kullanmalısınız.
Change Date sütunundaki tarihlerin yerel tarih biçimiyle aynı biçimde olduğundan emin olun.
Aşağıda listelenen kod, kaynak tabloyu şu şekilde güncelleştirir:
Currency | Rate | FromDate | ToDate |
---|---|---|---|
EUR | 8.45 | 15/02/2013 | vEndTime |
EUR | 8.69 | 28/01/2013 | 14/02/2013 23:59:59 |
EUR | 8.59 | vBeginTime | 28/01/2013 23:59:59 |
USD | 6.30 | 03/02/2013 | vEndTime |
USD | 6.56 | 10/01/2013 | 2/02/2013 23:59:59 |
USD | 6.50 | vBeginTime | 9/01/2013 23:59:59 |
QlikView kodu şöyle görünür:
Bu kod çalıştırıldığında aralıkların düzgün listelendiği bir tablonuz olur.
Bu tablo daha sonra Intervalmatch yöntemleri kullanılarak var olan bir tarih ile karşılaştırmada kullanılabilir.