QVD dosyaları
QVD (QlikView Data) dosyası, Qlik Sense veya QlikView uygulamasından dışa aktarılmış bir veri tablosu içeren bir dosyadır. QVD, yerel bir Qlik biçimidir ve yalnızca Qlik Sense uygulamasına yazılabilir ve QlikView tarafından okunabilir. Dosya biçimi bir Qlik Sense kodundan veri okuma sırasında hız sağlamak için optimize edilmiştir, ancak oldukça kompakt olan yapısını korumaktadır. Dosya biçimi bir koddan veri okuma sırasında hız sağlamak için optimize edilmiştir, ancak oldukça kompakt olan yapısını korumaktadır. Bir QVD dosyasından veri okumak, normalde diğer veri kaynaklarından okumaktan 10-100 kat daha hızlıdır.
QVD dosyaları iki modda okunabilir: standart (hızlı) ve optimize (daha hızlı). Seçilen mod, Qlik Sense kod altyapısı tarafından otomatik olarak belirlenir. Optimize mod yalnızca tüm yüklü alanların herhangi bir dönüşüm (alanlar üzerinde etkili olan formüller) olmadan okunduğu durumlarda kullanılabilir, ancak alanların yeniden adlandırılmasına izin verilir. Qlik Sense uygulamasının kayıtların paketini açmasına neden olan bir Where cümlesi de optimize yüklemeyi devre dışı bırakır.
QVD dosyası tam olarak bir veri tablosu içerir ve üç parçadan oluşur:
- Tablodaki alanları, sonraki bilgilerin düzenini ve bazı diğer meta verileri açıklayan bir XML üst bilgisi (UTF-8 karakter kümesinde).
- Bayt dolgulamalı biçimdeki sembol tabloları.
- Bit dolgulamalı biçimdeki gerçek tablo verisi.
QVD dosyaları birçok amaçla kullanılabilir. Dört ana kullanım kolayca tanımlanabilir. Birden fazla kullanım, belirli bir durum için geçerli olabilir:
- Veri yükleme hızını artırma
- Veritabanı sunucularında yükü azaltma
- Birden çok Qlik Sense uygulamasına ait verileri birleştirme.
- Artışlı yükleme
Değişmeyen veya yavaş değişen giriş verilerinin QVD dosyalarında ara belleğe alınmasıyla, kod yürütme büyük veri kümeleri için önemli ölçüde hızlandırılır.
Harici veri kaynaklarından alınan verilerin miktarı da önemli ölçüde azaltılabilir. Bu, harici veritabanları ve ağ trafiği üzerindeki iş yükünü azaltır. Ayrıca, birkaç Qlik Sense kodunun aynı verileri paylaştığı durumlarda, verilerin kaynak veritabanından bir QVD dosyasına bir kez yüklenmesi gerekir. Diğer uygulamalar aynı verileri bu QVD dosyasıyla kullanabilir.
Binary kod deyimiyle, tek bir Qlik Sense uygulamasından başka bir tanesine veri yüklemek mümkündür; ancak QVD dosyalarıyla, bir Qlik Sense kodu herhangi bir sayıda Qlik Sense uygulamasına ait verileri birleştirebilir. Bu, farklı iş birimlerine ait benzer verileri birleştiren uygulamalar için yeni olasılıkların önünü açar.
Yaygın olarak görülen birçok durumda QVD fonksiyonu, büyümekte olan bir veritabanından özel olarak yeni kayıtlar yüklenerek artışlı yüklemeyi kolaylaştırmak için kullanılabilmektedir.
QVD dosyaları oluşturma
QVD dosyası iki şekilde oluşturulabilir:
- Qlik Sense kodundaki Store komutunu kullanarak açık oluşturma ve adlandırma.
- Koddan otomatik oluşturma ve bakım.
Kod içinde önceden okunan bir tablonun veya bunun bir parçasının seçtiğiniz bir konumdaki açıkça adlandırılmış bir dosyaya dışa aktarılmasını belirtin.
Qlik Sense bir load veya select deyiminden önce Buffer önekini kullanarak, belirli koşullar altında veriler yeniden yüklenirken orijinal veri kaynağının yerine kullanılabilecek bir QVD dosyasını otomatik olarak oluşturur.
Sonuç olarak elde edilen QVD dosyaları arasında örneğin okuma hızı açısından bir fark yoktur.
Store
Bu kod işlevi, adları QVD, CSV veya txt olan bir dosya oluşturur.
Syntax:
Deyim yalnızca bir veri tablosundan alanları dışa aktarabilir. Birkaç tablodan alanlar dışa aktarılacaksa, dışa aktarılması gereken veri tablosunu oluşturmak için kodda önceden açık bir join yapılmalıdır.
Metin değerleri, CSV dosyasına UTF-8 biçiminde dışa aktarılır. Bir sınırlayıcı belirtilebilir, bkz. LOAD. Bir CSV dosyasına yönelik store deyimi BIFF dışa aktarımı desteklemez.
Örnekler:
Aşağıdakileri yapın:
- Gelişmiş Kodlama Eğitimi uygulamasını açın.
- Product kod bölümüne tıklayın.
- Kodun sonuna şunu ekleyin:
- Verileri yükle'ye tıklayın.
Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);
Kodunuz şöyle görünmelidir:
CrossTable(Month, Sales) LOAD Product, "Jan 2014", "Feb 2014", "Mar 2014", "Apr 2014", "May 2014" FROM [lib://DataFiles/Product.xlsx] (ooxml, embedded labels, table is Product); Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);
Product.qvd dosyası artık dosya listesinde olmalıdır.
Bu veri dosyası, Crosstable kodunun sonucudur ve her bir kategori (Product, Month, Sales) için bir sütun olmak üzere üç sütunlu bir tablodur. Bu veri dosyası, artık tüm Product kod bölümünü değiştirmek için kullanılabilir.
QVD dosyalarından veri okuma
Aşağıdaki yöntemlerle, QVD dosyası Qlik Sense uygulamasına okunabilir veya uygulama tarafından bu dosyaya erişilebilir:
- QVD dosyasını açık veri kaynağı olarak yükleme. QVD dosyalarına, tüm diğer metin dosyası türlerinde (csv, fix, dif, biff, vb.) olduğu gibi Qlik Sense kodundaki bir load deyimi ile referansta bulunulabilir.
Örnekler:
- Arabelleğe alınan QVD dosyalarını otomatik olarak yükleme. Buffer öneki load veya select deyimlerinde kullanıldığında, okumaya yönelik açık deyimler gerekli değildir. Qlik Sense, orijinal LOAD veya SELECT deyimiyle veri almaya kıyasla, QVD dosyasına ait verileri ne ölçüde kullanacağını belirler.
- QVD dosyalarına koddan erişme. Birkaç kod fonksiyonu (tümü QVD ile başlayan), QVD dosyasının XML üst bilgisinde bulunan verilerle ilgili çeşitli bilgileri almak için kullanılabilir.
Aşağıdakileri yapın:
- Product kod bölümündeki kodun tamamını derleme dışında bırakın.
- Aşağıdaki kodu girin:
- Verileri yükle'ye tıklayın.
Load * from [lib://DataFiles/ProductData.qvd](qvd);
Veriler QVD dosyasından yüklenir.

Buffer
QVD dosyaları Buffer önekiyle otomatik olarak oluşturulabilir ve korunabilir. Bu önek, koddaki çoğu LOAD ve SELECT deyiminde kullanılabilir. QVD dosyalarının deyimin sonucunu önbelleğe/arabelleğe almak için kullanıldığını belirtir.
Syntax:
Bir seçenek kullanılmazsa, kodun ilk yürütülmesiyle oluşturulan QVD belleği süresiz olarak kullanılır.
Example:
stale [after] amount [(days | hours)]
Amount, zaman dönemini belirten bir sayıdır. Decimals kullanılabilir. Atlandığında birimin günler olduğu varsayılır.
stale after seçeneği, orijinal verilerde basit bir zaman damgasının bulunmadığı durumlarda tipik olarak veritabanı kaynaklarıyla kullanılır. stale after cümlesi, basit bir şekilde, QVD belleğinin oluşturulma zamanında başlayan ve sonrasında geçerli sayılmayacağı bir zaman dönemi belirtir. Bu zamandan önce QVD belleği veriler için kaynak olarak kullanılır ve bundan sonra orijinal veri kaynağı kullanılır. Bu durumda QVD bellek dosyası otomatik olarak güncelleştirilir ve yeni bir dönem başlar.
Example:
Incremental
incremental seçeneği, temel bir dosyanın yalnızca bir bölümünü okuma özelliğini etkinleştirir. Dosyanın önceki boyutu, QVD dosyasının XML üst bilgisinde depolanır. Bu, özellikle günlük dosyalarıyla kullanışlıdır. Önceki bir durumda yüklenen tüm kayıtlar QVD dosyasından okunurken, takip eden yeni kayıtlar orijinal kaynaktan okunur ve son olarak güncelleştirilmiş bir QVD dosyası oluşturulur.
incremental seçeneğinin yalnızca LOAD deyimleriyle ve metin dosyalarıyla kullanılabileceğini ve eski verilerin değiştirildiği veya silindiği durumlarda artışlı yüklemenin kullanılamayacağını unutmayın.
Example:
QVD bellekleri normalde, oluşturduğu uygulamadaki tam kod yürütme boyunca herhangi bir konumda artık kendisine referansta bulunulmadığında veya oluşturduğu uygulama artık var olmadığında kaldırılır. Belleğin içeriklerini QVD veya CSVdosyası olarak tutmak isterseniz Store deyimi kullanılmalıdır.
Aşağıdakileri yapın:
- Yeni bir uygulama oluşturun ve ona bir ad verin.
- Veri yükleme düzenleyicisi'ne yeni bir kod bölümü ekleyin.
-
Sağ menüdeki DataFiles altında Veri seç'e tıklayın.
- Karşıya yükleyin ve ardından Cutlery.xlsx öğesini seçin.
- Veri seçme kaynağı: penceresinde Kod yerleştir'e tıklayın.
- Load deyimindeki alanları derleme dışında bırakın ve load deyimini şu şekilde değiştirin:
- Verileri yükle'ye tıklayın.
- Yeniden Veri yükle'ye tıklayın.
- Bu sefer veriler, verileri ilk defa yüklediğinizde Buffer deyimi tarafından oluşturulan QVD dosyasından yüklenir.
Buffer LOAD *
Kodunuz şöyle görünmelidir:
Buffer LOAD * // "date", // item, // quantity FROM [lib://DataFiles/Cutlery.xlsx] (ooxml, embedded labels, table is Sheet1);
İlk veri yüklemenizde veriler Cutlery.xlsx dosyasından yüklenir.

Buffer deyimi de bir QVD dosyası oluşturarak Qlik Sense içinde depolar. Bulut dağıtımında, bulut üzerindeki bir dizinde depolanır.

Teşekkürler!
Bu dersi tamamladınız ve umarız Qlik Sense uygulamasında kodlama yapma hakkında daha fazla bilgi edindiniz. Diğer derslerle ilgili daha fazla bilgi için lütfen web sitemizi ziyaret edin.