Qlik Sense Dersleri Web Üzerinden Veri Çekme ve Kur Hesaplama (TCMB Örneği)


Günümüz dünyasında veri, yalnızca yerel dosyalarda veya veritabanlarında bulunmuyor. Web siteleri, API’ler ve çevrimiçi servisler, sürekli güncellenen ve değerli içgörüler sunabilecek devasa bir bilgi kaynağıdır. Qlik Sense, bu zengin web tabanlı veriyi doğrudan veri modelinize çekerek analitik yeteneklerinizi genişletmenizi sağlar.

Qlik Sense Veri Bağlantıları Ekranı

*Görsel API:

Peki, Qlik Sense ile web’den nasıl veri çekebiliriz? Temelde iki ana yöntem ve bağlayıcıdan bahsedebiliriz:

  • Web Dosyası Bağlayıcısı (Web File Connector): Statik web sayfalarındaki veya belirli bir URL’den doğrudan indirilebilen dosyalardaki (CSV, Excel, XML, JSON gibi) veriyi çekmek için kullanılır.
  • REST Bağlayıcısı (REST Connector): Web servislerinin API’leri aracılığıyla dinamik veri çekmek için kullanılır. Daha gelişmiş ve programatik bir yaklaşımdır.

Örneklerle TCMB Kur Tablosunu İnceleyelim

1. Bağlantıyı Oluşturma

Veri yükleme düzenleyicisinde (Data Load Editor) yeni bir bağlantı oluşturmak için konsolda “Web” aratarak Web dosyası (Web file) bağlayıcısını seçelim.

Qlik Sense Veri Bağlantıları Ekranı

*Tablo 1:

Ardından kur datasını çekmek için ilgili TCMB XML/HTML URL’mizi girelim ve “Oluştur” diyerek devam edelim. İşlemi tamamladığınızda, sağ tarafta yer alan veri bağlantıları sekmesine ilgili tablonun eklendiğini göreceksiniz.

Qlik Sense Veri Bağlantıları Ekranı

*Görsel 1:

Qlik Sense Veri Bağlantıları Ekranı

*Görsel 2:

2. Kuru Hafızaya Alma ve Hesaplamalarda Kullanma

Eklenen kur tablosundaki kodu scriptimize dahil ettiğimizde, anlık kur değerini kullanabilmek için LET ve Peek() fonksiyonlarından faydalanacağız. LET fonksiyonu, kur tablosundaki hedef değeri tutarak hafızaya alır (değişken oluşturur). Bu değeri çağırdığımız vakit o anki değeriyle dönecektir.

Qlik Sense Veri Bağlantıları Ekranı

*Görsel 3:

İşte sürecin adım adım kodlanmış hali:

// 1. Kur Tablosunun Yüklenmesi
kur_temp:
LOAD 
    Kod, 
    BanknoteSelling 
FROM [lib://Web_TCMB] (XmlSimple, table is [Tarih_Date/Currency])
WHERE Kod = 'USD';

// 2. Peek() Fonksiyonu ile Değişken Ataması
LET vUSDSellingRate = Peek('BanknoteSelling', 0, 'kur_temp');

// 3. Geçici Tablonun Silinmesi
DROP TABLE kur_temp;

// 4. DataFinal Tablosunun Yüklenmesi ve Maliyet Hesabı
DataFinal:
LOAD 
    UrunAdi,
    Maliyet,
    Maliyet * $(vUSDSellingRate) as MaliyetUSD
FROM [lib://Local_Data/Data.xlsx] (ooxml, embedded labels, table is Sheet1);

![Qlik Sense Veri Bağlantıları Ekranı](/images/qlik-10-6.png)

*Görsel Sonuç: