Load
LOAD deyimi, alanları bir dosyadan, kod içinde tanımlanmış verilerden, daha önceden yüklenmiş tablodan, web sayfasından, ardından gelen SELECT deyiminin sonucundan veya verileri otomatik olarak oluşturarak yükler.
Söz Dizimi:
LOAD [ distinct ] fieldlist
[( from file [ format-spec ] |
from_field fieldassource [format-spec]
inline data [ format-spec ] |
resident table-label |
autogenerate size )]
[ where criterion | while criterion ]
[ group_by groupbyfieldlist ]
[order_by orderbyfieldlist ]
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
distinct | Yalnızca benzersiz kayıtları yüklemek istiyorsanız distinct öğesini koşul olarak kullanabilirsiniz. Yinelenen kayıtlar varsa birinci örnek yüklenecektir. Önceki yüklemeleri kullanıyorsanız distinct yalnızca hedef tabloyu etkilediğinden, distinct öğesini birinci yükleme deyimine eklemeniz gerekir. |
fieldlist | fieldlist ::= ( * | field {, field } ) Yüklenecek alanların listesi. Alan listesi olarak * kullanılması tablodaki tüm alanları işaret eder. field ::= ( fieldref | expression ) [as aliasname ]Alan tanımı, her zaman için bir değişmez değeri, mevcut alana bir başvuruyu veya bir ifadeyi içermelidir. fieldref ::= ( fieldname |@fieldnumber |@startpos:endpos [ I | U | R | B | T] )fieldname, tablodaki bir alan adıyla aynı olan metindir. Alan adının, örneğin boşluklar içeriyorsa, düz çift tırnak işaretleri veya köşeli ayraçlar içine alınması gerektiğini unutmayın. Alan adları kimi zaman açık şekilde kullanılabilir durumda olmayabilir. Bu durumda farklı gösterim kullanılır. @fieldnumber, ayrılmış bir tablo dosyasındaki alan numarasını temsil eder. Önünde "@" yer alan pozitif bir tam sayı olmalıdır. Numaralandırma her zaman 1'den başlar ve alan sayısına kadar gider. @startpos:endpos, sabit uzunluklu kayıtların bulunduğu bir dosyada alanın başlangıç ve bitiş konumlarını temsil eder. Konumların her ikisi de pozitif tamsayı olmalıdır. Bu iki sayının öncesinde "@" gelmeli ve iki sayı iki nokta üst üste ile ayrılmalıdır. Numaralandırma her zaman 1'den başlar ve konumların sayısına kadar gider. Son alanda, bitiş konumu olarak n kullanılır.
expression, aynı tablodaki bir veya birkaç alanı temel alan bir sayısal fonksiyon veya bir dize fonksiyonu olabilir. Daha fazla bilgi için ifadelerin söz dizimine bakın. |
from | Bir dosyadan veri yüklenmesi gerekirse from kullanılır. file ::= [ path ] filename
Yol atlanırsa, QlikView bu dosyayı Directory ifadesinde belirtilen dizinde arar. Herhangi bir Directory ifadesi yoksa, QlikView dosyayı çalışma dizininde arar; bu çalışma dizini genellikle QlikView dosyasının bulunduğu dizindir. Bilgi notuQlikView sunucusu kurulumunda varsayılan çalışma dizini C:\ProgramData\QlikTech\Documents olur. Varsayılan çalışma dizini QlikView Yönetim Konsolu içinden değiştirilebilir. filename standart DOS joker karakterlerini ( * ve ? ) içerebilir. Bu durum, belirtilen dizindeki tüm eşleşen dosyaların yüklenmesine neden olur. format-spec ::= ( fspec-item { , fspec-item } )Biçim belirtimi, ayraçlar içinde, birden fazla biçim belirtimi öğesinin listesinden oluşur. |
from_field | Daha önceden yüklenmiş bir alandan veri yüklenmesi gerekirse from_field kullanılır. fieldassource::=(tablename, fieldname) Alan, daha önce yüklenen tablename ve fieldname adıdır. format-spec ::= ( fspec-item {, fspec-item } )Biçim belirtimi, ayraçlar içinde, birden fazla biçim belirtimi öğesinin listesinden oluşur. |
inline | Verilerin kod içerisine yazılması ve dosyadan yüklenmemesi gerekirse inline kullanılır. data ::= [ text ] inline cümlesiyle girilen veriler özel karakterler (köşeli parantez, tırnak işareti veya kesme işareti) içine alınmalıdır. Bunlar arasındaki metinler bir dosyanın içeriğiyle aynı şekilde yorumlanır. Bu nedenle, bir metin dosyasında yeni satır eklerken, bunu aynı zamanda inline cümlesinin metninde de yapmalı, yani kodu yazarken Enter tuşuna basmalısınız. Basit bir satır içi yüklemede sütun sayısı, ilk satıra bağlı olarak tanımlanır. format-spec ::= ( fspec-item {, fspec-item } )Satır içi yüklemeyi diğer yüklenen tablolar için mevcut olan aynı biçim belirtimi öğelerinin birçoğuyla özelleştirebilirsiniz. Bu öğeler parantez içinde listelenir. Daha fazla bilgi için bkz. Biçimlendirme belirtim öğeleri. Satır içi yüklemeler hakkında daha fazla bilgi için bkz. Satır içi tablolardan veri yükleme. |
resident | Daha önceden yüklenmiş bir tablodan veri yüklenmesi gerekirse resident kullanılır. table label, asıl tabloyu oluşturan LOAD veya SELECT deyimlerinin önünde bulunan bir etikettir. Bu etiketin sonuna iki nokta üst üste eklenmelidir. QlikView 12.00 veya sonraki sürüm içinde distinct ve resident birleşimi kullanılırken veri yükleme sırası, QlikView 11.20 uygulamasından farklılık gösterir. İstediğiniz bir yükleme sırasını tanımlamak için bir order by cümlesi ekleyin. |
autogenerate | autogenerate, verilerin otomatik olarak QlikView tarafından oluşturulması gerekiyorsa kullanılır. size ::= number Number, oluşturulacak kayıt sayını belirten bir tam sayıdır. Alan listesi, bir veritabanından veri gerektiren ifadeler içermemelidir. İfadelerde sadece sabitlere ve parametre içermeyen fonksiyonlara (rand() veya recno() gibi) izin verilir. |
extension | Analiz bağlantılarından veri yükleyebilirsiniz. Sunucu tarafı uzantı (SSE) eklentisinde tanımlanan bir işlevi çağırmak veya bir kodu değerlendirmek için extension cümlesini kullanmanız gerekir. SSE eklentisine tek bir tablo gönderebilirsiniz, böylece tek bir veri tablosu döndürülür. Eklenti, döndürülen alanların adlarını belirtmiyorsa alanlar Field1, Field2 olarak adlandırılır ve böyle devam eder. Extension pluginname.functionname( tabledescription );
Tablo alanı tanımında veri türü işleme Veri türleri otomatik olarak analiz bağlantılarında algılanır. Veri bir sayısal değer içermiyorsa ve en az bir NULL olmayan metin dizesi içeriyorsa alan metin olarak değerlendirilir. Diğer durumlarda sayısal olarak değerlendirilir. String() veya Mixed() ile bir alan adını kaydırarak veri türünü zorlayabilirsiniz.
String() veya Mixed(), extension tablo alanı tanımları dışında kullanılamaz ve bir tablo alanı tanımında diğer QlikView işlevlerini kullanamazsınız. Analiz bağlantıları hakkında daha fazla bilgi QlikView Server veya QlikView Desktop içinde analiz bağlantısı oluşturmak için bkz.: Analiz bağlantıları GitHub deposunda analiz bağlantıları hakkında daha fazla bilgi edinebilirsiniz. qlik-oss/server-side-extension |
where | where, bir kaydın seçime dahil edilmesi gerekip gerekmediğini belirtmek için kullanılan bir cümledir. criterion değeri True ise seçim dahil edilir. criterion, mantıksal bir ifadedir. |
while | while, bir kaydın tekrar tekrar okunması gerekip gerekmediğini belirtmek için kullanılan bir cümledir. criterion değeri True olduğu sürece aynı kayıt okunur. Kullanışlı olması için, while cümlesi genellikle IterNo( ) fonksiyonunu içermelidir. criterion, mantıksal bir ifadedir. |
group_by | group by, verilerin hangi alan üzerinde toplanması (gruplanması) gerektiğini tanımlamak için kullanılan bir cümledir. Toplama alanları yüklenen ifadelere bir şekilde dahil edilmelidir. Yüklenen ifadelerde toplama işlevleri dışında toplama alanlarından başka herhangi bir alan kullanılamaz. groupbyfieldlist ::= (fieldname { ,fieldname } ) |
order_by | order by, yerleşik tablonun kayıtlarını, load deyimi tarafından işlenmeden önce sıralamak için kullanılan bir cümledir. Yerleşik tablo bir veya daha fazla alana göre artan veya azalan olarak sıralanabilir. Sıralama, birincil olarak sayısal değere ve ikincil olarak da ulusal harmanlama düzenine göre yapılır. Bu cümle yalnızca veri kaynağı yerleşik bir tablo olduğunda kullanılabilir. Alanların sıralaması, yerleşik tablonun hangi alana göre sıralanacağını belirler. Bu alan, adıyla veya yerleşik tablodaki sayısıyla belirlenebilir (birinci alan 1 numaradır). orderbyfieldlist ::= fieldname [ sortorder ] { , fieldname [ sortorder ] } sortorder, artan için asc veya azalan için desc şeklindedir. Hiçbir sortorder belirtilmemişse asc öğesi varsayılır. fieldname, path, filename ve aliasname kendi adlarının ifade ettiklerini temsil eden metin dizeleridir. Kaynak tablodaki herhangi bir alan fieldname olarak kullanılabilir. Ancak, as cümlesiyle oluşturulan alanlar (aliasname) kapsam dışıdır ve aynı load ifadesinin içerisinde kullanılamaz. |
Bir from, inline, resident, from_field veya autogenerate cümlesi aracılığıyla herhangi bir veri kaynağı verilmezse, veriler hemen ardından gelen SELECT veya LOAD ifadesinin sonucundan yüklenir. Bunun ardından gelen deyimin bir öneki bulunmamalıdır.
Örnekler: