Son Haberler
Anasayfa / Yazılım / Raporlama Araçları / Qlik Sense Hata Ayıklama (Debugging) ve Komut Script Editörü

Qlik Sense Hata Ayıklama (Debugging) ve Komut Script Editörü

Qlik Sense Komut Dosyasını Yapılandırma

Veri işlemlerinin komutlar aracılığı ile yapılmasını gerçekleştirmek için az çok yazılım dünyasına hâkim olmak gerekmektedir. Qlik Sense içinde yine az çok kodlama bilgisine sahip olarak bazı işlemleri daha yönetilebilir bir şekilde gerçekleştirebiliriz. Bu tıpkı manuel vitesli bir araç ve otomatik vitesli bir araç veya profesyonel bir fotoğraf makinesin manual modda çekim modu ile otomatik modda çekim modu gibi bir olaydır. Manual modda her şeye hükmedebilirsiniz, biraz zordur ama yönetim açısından her şey kontrolünüzdedir. Otomatikte ise işlemler kolaydır ancak özelleştirmeler sınırlı olabilir, herşeye hükmetmek pek mümkün olmayabilir.

Qlik Sense DEBUG Kullanımı

Programlamada komutları çalıştırmadan önce hata ayıklama işlemi yani debugging çok faydalıdır. Bu sayede var ise komutlarımızda yer alan hataları sürecin başında tespit eder, onları düzenler ve zamandan tasarruf ederek, hataları daha kolay buluruz. Debugging işleminde her komut satırı tek tek incelenir, değişkenler değerlendirilir. Buna ilişkin bir örnek yapalım.

Qlik Sense’i açıyorum, yeni bir uygulama oluşturuyorum, uygulama adımı DebugOrnek verdim. Sonra sol taraftan Data Load Editor açıyorum.

Sonra solda menüde Main yazısının hemen üstünde yer alan + simgesine tıklayarak yeni bir Section oluşturuyorum.

Section ifadesinin yerine Debug ismini verip, ismini düzenliyorum. Daha sonra ortada yer alan Script editöre aşağıdaki kodu yazıyorum.

Products Temp:
LOAD * INLINE [
Product, ProductID, Sales
Footwear, F21Lon, 120000
Tyres, T21Man, 150000
Mountain Bikes, MB32Lon, 195000
Road Bikes, RB12Bir, 225000
];
Customers:
LOAD * INLINE [
Customer, ProductID, City
Hero, F21Lon, London
Avon, T21Man, Manchester
Force1, MB32Lon, London
Ferrari, RB12Bir, Birmingham
];

Daha sonra üstte yer alan SAVE  (Kaydet) butonuna tıklıyorum. Kaydetme işlemini tamamladığımda Qlik Sense otomatik olarak komut içerisinde eğer var ise hatalı olan yerleri algılar ve onları aşağıdaki görselde görüleceği üzere kırmızı şekilde yazar. Ayrıca solda yer alan tab alanında ilgili section için yuvarlak bir ünlem işareti çıkar. Bunu da aşağıdaki görselde görebiliriz.

Daha sonra sağ üst köşede böcek şeklinde olan, Load Data yanında aktif olan Show Debug Panel butonuna tıklıyoruz.

Ekranın altında 3 bölümlü bir panel açılıyor. Bunlar Outputs, Variable ve Breakpoints.

Debugging yaparken her zaman mümkün olduğunca kısa parçacıklar halinde debugging (hata ayıklama) işlemini yapmak avantajlı olacaktır. Böyle yaparak, debugging işleminin hızlı olmasını sağlar ve daha fazla zaman kazanabiliriz. Tabi burada bu kod parçacıkları nihai bir sonuç vermeyebilir ancak bunda endişelenecek bir durum bulunmamakta. Amaç burada sadece ilgili kod parçacığının kontrolünü yapmak zaten. Eğer hatasız bir kod parçacığı var ise işlemlerimize rahatlıkla devam edebiliriz.

Şimdi uygulamamıza geri dönelim. Altta açılan kısımda Output sekmesinde iken üstteki paragrafta bahsettiğim gibi az bir kısmı debugging yapmak için az bir yük alacağım. Dolayısı ile Limited Load (Sınırlı yük) kutucuğunu işaretliyor ve yanındaki değere 10 yazıyorum.

Daha sonra üstteki görselde 4 olarak işaretlediğim Run butonuna basıyorum. Debugging çalışıyor ve Qlik Sense tüm satırları tek tek kontrol ederek, hataları arıyor. Eğer bir hata bulunursa aşağıdaki görselde de görüleceği üzere ilgili kod bloğu sarı kutu içinde gösterilir. Komut satırının durduğu hat ise kırmızı alt alan rengine sahip şekilde gösterilmektedir.

Output penceresi bize karşılaşılan hataların detaylarını vermektedir. Run (Çalıştır) butonuna tekrar tıklıyorum. Tekrar çalışma olunca şunu fark ediyoruz.  Customers tablosu için kodlar düzgün çalışıyor ancak Products için çalışmıyor. Data model viewer ile de aynı durumu görebiliriz.

Aşağıda açılan Debugging panel üzerinde Variables (Değişkenler) sekmesini açıyorum. Burada yer alan ScriptErrorCount bize hata sayısını gösterir. ScriptErrorList hata tipini gösterir.

Göreceği üzere 1 hatamız var ve bu bir syntax (yazım) hatası. Hatamın renklendiği yer de belli, Products Temp. Normalde bu kısım ProductsTemp olarak kullanılır, arada bir boşluk olmaz. Bu boşluğu kod editörümde kaldırıyorum. Kodlarım artık aşağıdaki şekilde oluyor:

ProductsTemp:
LOAD * INLINE [
Product, ProductID, Sales
Footwear, F21Lon, 120000
Tyres, T21Man, 150000
Mountain Bikes, MB32Lon, 195000
Road Bikes, RB12Bir, 225000
];
Customers:
LOAD * INLINE [
Customer, ProductID, City
Hero, F21Lon, London
Avon, T21Man, Manchester
Force1, MB32Lon, London
Ferrari, RB12Bir, Birmingham
];

Komut satırında aynen diğer programlama editörlerinde olduğu gibi Breakpoints olarak adlandırdığımız kesme-durdurma noktaları da tanımlayabiliriz. Bunu yapmak için herhangi bir kod satırının yanındaki rakama tıkladığımda oraya bir Breakpoints eklenir. Bu şu demektir, ilgili kod parçacığı execute edildiğinde yani çalıştırıldığında bu noktada duracaktır. Eklenen Brakpoints yine üzerine veya yanındaki satır numarasına tıklanarak silinebilir. Birden fazla Breakpoints eklenebilir. Eğer Brekpoints boş satırlara eklenmiş ise yok sayılır. Aşağıda Breakpoints eklenme durumu için görsel görebilirsiniz.

Ek olarak en altta açılan Debugging panel üzerinde Run butonunun yanında yer alan Step butonuna basarak kod bloğunda yer alan satırları tek tek çalıştırabiliriz.

Uygulamamızdan anlaşılacağı üzere Qlik Sense’deki Debugging (Hata Ayıklama) paneli, tüm komut bloklarını hatalara karşı denetler ve doğruluklarının sağlanması için bize dönüt verir. Test ettiğimiz kod bloğu çok büyük olmadığında debugging işlemi kısa sürer. Biz örneğimizde syntax hatasına ilişkin çalışma yaptık ama debugging işleminde değişkenlerin de durumu kontrol edilir. Yani hatalı bir değişken kullanımı var ise buna ilişkin olarak da hatalar debugging (hata ayıklama) esnasında ortaya çıkar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir