Ana içeriğe geç Tamamlayıcı içeriğe geç

Birleştirmeye alternatif olarak eşlemeyi kullanma

QlikView içindeki Join öneki, veri modelinde çeşitli veri tablolarını birleştirmenin güçlü bir yoludur. Bir dezavantajı ise birleştirilen tabloların büyük olabilmesi ve performans sorunları yaratabilmesidir. Başka bir tablodan tek değeri aramanız gerektiği durumlarda Join yönteminin bir alternatifi de eşlemeyi kullanmaktır. Birleştirme işlemleri tablolardaki kayıtların sayısını değiştirebildiğinden, bu yöntem, hesaplamaları yavaşlatan ve potansiyel olarak hesaplama hatalarına yol açabilen gereksiz verileri yüklemekten kurtulmanızı sağlayabilir.

Eşleme tablosu iki sütundan oluşur: bir karşılaştırma alanı (giriş) ve bir eşleme değeri alanı (çıkış).

Bu örnekte elimizde bir sipariş tablosu (Orders) var ve müşteri tablosunda (Customers) depolanan müşterinin ülkesini öğrenmemiz gerekiyor.

Orders data table
OrderID OrderDate ShipperID Freight CustomerID
12987 2007-12-01 1 27 3
12988 2007-12-01 1 65 4
12989 2007-12-02 2 32 2
12990 2007-12-03 1 76 3
Customers data table
CustomerID Name Country ...
1 DataSales Spain ...
2 BusinessCorp Italy ...
3 TechCo Germany ...
4 Mobecho France ...

Bir müşterinin ülkesini (Country) aramak için şuna benzer bir eşleme tablosuna gerek duyarız:

Country mapping table
CustomerID Country
1 Spain
2 Italy
3 Germany
4 France

MapCustomerIDtoCountry olarak adlandırdığımız eşleme tablosu kodda şöyle tanımlanır:

MapCustomerIDtoCountry: Mapping LOAD CustomerID, Country From Customers ;

Bir sonraki adım, sipariş tablosunu yüklerken ApplyMap fonksiyonunu kullanarak eşlemeyi uygulamaktır:

Orders: S *, ApplyMap('MapCustomerIDtoCountry', CustomerID, null()) as Country From Orders ;

ApplyMap fonksiyonunun üçüncü parametresi, değerin eşleme tablosunda bulunamaması durumunda döndürülecek sonucu tanımlamak için kullanılır (bu örnekte Null()).

Sonuçta elde edilen tablo şöyle görünür:

Result mapping table
OrderID OrderDate ShipperID Freight CustomerID Country
12987 2007-12-01 1 27 3 Germany
12988 2007-12-01 1 65 4 France
12989 2007-12-02 2 32 2 Italy
12990 2007-12-03 1 76 3 Germany

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!

Analiz Modernleştirme Programına katılın

Remove banner from view

Analiz Modernleştirme Programı ile değerli QlikView uygulamalarınızı ödün vermeden modernleştirin. Bize ulaşmak ve daha fazla bilgi almak için buraya tıklayın: ampquestions@qlik.com