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.

Syntax:  

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 ]

Arguments:  

Bağımsız Değişken Açıklama
distinct distinct, çoğaltılmış kayıtların yalnızca ilkinin yüklenmesi gerekiyorsa kullanılan bir koşuldur.
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.

  • @startpos:endpos öğesinin hemen ardından I veya U karakteri geliyorsa, okunan baytlar ikili imzalı (I) veya imzalanmamış (U) tam sayı (Intel bayt sırası) olarak yorumlanır. Okunan konumların sayısı 1, 2 veya 4 olmalıdır.
  • @startpos:endpos öğesinin hemen ardından R karakteri gelirse, okunan baytlar ikili gerçek sayı (IEEE 32 bit ya da 64 bit kayan nokta) olarak yorumlanır. Okunan konumların sayısı 4 veya 8 olmalıdır.
  • @startpos:endpos öğesinin hemen ardından B karakteri gelirse, okunan baytlar COMP-3 standardına göre BCD (Binary Coded Decimal) sayıları olarak yorumlanır. İstenen sayıda bayt belirtilebilir.

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.

Alana yeni bir ad atamak için as kullanılır.

from

Bir dosyadan veri yüklenmesi gerekirse from kullanılır.

file ::= [ path ] filename

  • mutlak

    Example: c:\data\

  • QlikView belge yoluna göreceli.

    Example: data\

  • İnternet veya intranet üzerinde bulunan bir konuma işaret eden URL adresi (HTTP veya FTP). URL, URL olarak kodlanmış olmalıdır (örn. boşluk karakterleri içeriyorsa).

    Example: http://www.qlik.com

    Example: http://www.enterprise.com/project%20files (http://www.enterprise.com/project files)

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.

Note: QlikView sunucusu kurulumunda varsayılan çalışma dizini C:\ProgramData\QlikTech\Documents olur. Varsayılan çalışma dizini QlikView Management Console 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.

Directory

From

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 inline Verilerin kod içerisine yazılması ve dosyadan yüklenmemesi gerekirse kullanılır.

data ::= [ text ]

inline cümlesiyle girilen veriler çift tırnak işareti veya köşeli ayraçlar 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. Sütun sayısı, ilk satıra bağlı olarak tanımlanır.

format-spec ::= ( fspec-item {, fspec-item } )

Biçim belirtimi, ayraçlar içinde, birden fazla biçim belirtimi öğesinin listesinden oluşur.

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.

Daha önce yüklenmiş bir tablodan verileri yükleme

Tablo etiketleri

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 );

  • SSE eklentisinde bir işlevi kullanarak veri yükleme

    tabledescription ::= (table { ,tablefield} )

    Tablo alanlarını belirtmezseniz alanlar yükleme sırasında kullanılır.

  • SSE eklentisinde bir kodu değerlendirerek veri yükleme

    tabledescription ::= ( script, table { ,tablefield} )

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(), alanı metin olmaya zorlar. Alan sayısalsa, ikili verinin metin kısmı çıkarılır, bir dönüştürme gerçekleştirilmez.
  • Mixed(), alanı ikili olmaya zorlar.

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.

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.

Öncelikli LOAD

Examples: