17 Ağustos 2015 Pazartesi

QlikView Scripting 8: Hata Ayıklama

  • Dosya|Kod Düzenle...| Hata Ayıkla aracı ile çalışırken sorgunuzda problem oluşturacak hataları tespit edebilir, sorgunuzun ve değişkenlerin nasıl çalıştığını gözlemleyebilirsiniz.
  • Main ekranında görünen sorguyu çalıştırırken durmasını istediğiniz satırın numarasına tıkladığınızda görünen kırmızı yuvarlak noktalar ile Kesme Noktaları (Breakpoints) belirleyebilirsiniz.
  • Hata Ayıkla ekranında görünen butonların işlevleri:
    • Kesme Noktaları kısmında yer alan Temizle, sorgunuzdaki tüm kesme noktalarını temizler.
    • Hata Ayıkla kısmında yer alan Çalıştır, başladığı noktadan bir hataya, kesme noktasına denk gelene kadar, denk gelmezse sorgunun sonuna kadar sorguyu çalıştırır.
    • Hata Ayıkla kısmında yer alan Animasyon Oynat, adım adım sorgunuzu çalıştırır. Böylece sorgunuzun çalışma sürecini izlemeniz kolaylaşır.
    • Hata Ayıkla kısmında yer alan Adım, tek tek sorgunun satırlarını çalıştırır. Bir sonraki satıra geçmek için tekraradn Adım'a tıklamanız gerekmektedir.
    • Sınırlı Yükleme'de belirleyeceğiniz satır sayısı kadar her tablodan veri yüklenecektir.
    • Burada Sonlandır ile hata ayıklayıcının çalışmasını sonlandırıp ekranı kapatabilirsiniz. Sonlandırdığınız ana kadar yüklenen veri raporda kalır.
    • İptal, çalışan hata ayıklayıcını iptal edip ekranı kapatabilirsiniz. İptal ettiğiniz ana kadar yüklenen veri de rapordan silinir.
    • Kapat ile direk hata ayıklayıcıyı kapatırsınız.
  • Hata Ayıkla ekranındaki pencereler:
  • Kesme noktalarının dışında sorguyu durdurmak istediğiniz kısımlara EXIT SCRIPT komutunu eklemeniz yeterlidir. Hata ayıklanırken buralara geldiğinde duracaktır.
  • Ayarlar|Belge Özellikleri ekranın Genel sekmesinde Günlük Dosyası Oluştur'u seçerseniz raporu her çalıştırmanızda raporunuzun yer aldığı dosyada otomatik olarak bir log dosyası oluştur. Bu log dosyasını açıp incelediğinizde raporunuzun hangi satırda neden dolayı hata verdiğini bulabilirsiniz. Sonrasında raporunuzun sorgusunun hata veren kısmından hemen sonrasına EXIT SCRIPT komutunu ekleyip çalıştırırsanız, hatayı daha kolay izole edebilirsiniz.
  • Bir değişiklik sonrası tüm veriyi yüklemek yerine Dosya|Kısmi Yeniden Yükleme (veya Ctrl+Shift+R kısayoluyla) ile sadece sonradan eklediğiniz kısmı yükleyebilirsiniz. Yapmanız gereken; eğer yeni bir veri ekliyorsanız yeni verinin sorgusunun başına ADD LOAD komutunu eklemek, aynı veriyi bir daha yüklemek istiyorsanız bu verinin sorgusunun başına REPLACE LOAD komutunu ekledikten sonra Kısmi Yeniden Yükleme yapmak.
  • Kısmi yüklemede aynı verinin bir daha yüklenmesini istemiyorsanız sorgunuzun sonuna WHERE satırını ekleyip NOT EXISTS fonksiyonunu kullanmanız gerekir.
İyi çalışmalar..

16 Ağustos 2015 Pazar

QlikView Scripting 6: Gelişmiş Sorgu Yazma ve Veri Modeli İyileştirmesi

  • Rapora yüklediğiniz tablolar birbirleriyle bağlantı kurarak döngü (loop) oluşturabilir. Raporunuzun çalışması için bu döngüyü kırmanız gerekmektedir. Döngüyü kırabilmek için CONCATENATE komutu yardımıyla birkaç tabloyu tek bir tabloda toplayabilirsiniz. CONCATENATE komutuyla birleştireceğiniz tablolar, aynı sayıda ve aynı isimde alanlara sahip olması gerekmektedir.
  • Bir önceki yazıda bahsettiğimiz raporumuzun performansını olumsuz etkileyen Sentez anahtarlarından kurtulabilmek için HASH128 ve AUTONUMBER komutlarından faydalanabiliriz. Örneğin raporumuzun veri modeli aşağıdaki gibi olsun.
$Syn 1 Table isimli Sentez tablosundan kurtulmak için birbirleriyle bağlantı kuran Forecast ve Actual tablolarımızda HASH128 komutunu kullanarak üzerinden bağlantı kurulan BrokerID ve BondID alanlarından özgün bir alan oluşturarak bu alan üzerinden bağlantı kurmaya zorlamalıyız. Bunun için öncelikle her iki tabloda HASH128 komutuyla bu iki alandan oluşan ActualForecastID ismiyle özgün yeni bir alan oluşturuyoruz. Sonrasında her iki tabloda yer alacak bu özgün alanla birlikte üzerinden bağlantı kurduğumuz iki alanı yani BrokerID, BondID ve ActualForecastID alanlarından oluşan ActualForecastBridgeKey ismini verdiğimiz bir tablo oluşturuyoruz. Bu yeni tablomuz, bir açıklama tablosu olacağından diğer tablolarımızdan BrokerID ve BondID alanlarını siliyoruz. Ve veri modelimizde artık Sentez tablosuna yer bulunmamaktadır:
Yaptığımız tüm bu hamleler çalışma dosyamızın sorgu kısmında Main 6 sekmesinde yer almaktadır.
  • Aynı isimli alanlara sahip tabloları raporunuza yüklediğinizde QlikView CONCATENATE komutu varmışcasına otomatik olarak ikinci tabloyu ilk tablo ile birleştirir ve raporunuzda veri tek tabloda toplanır. Eğer bunu engellemek istiyorsanız ikinci tablonuzu yükleyen sorgunun başına NOCONCATENATE komutunu eklemeniz gerekmektedir.
  • Aynı sayıda alana sahip olmayan iki tabloyu birleştirmek istiyorsanız daha az alanı olan ikinci tabloyu yükleyen sorgunun başına CONCATENATE komutunu eklemeniz gerekmektedir. Toplamda her iki tablonun toplam satır sayısı kadar veriniz olur fakat ikinci tabloda olmayan alan, ikinci tablodan gelen veriler yanında NULL (boş) olarak yer alır. QlikView buna force concatenate diyor.
  • Test sonuçları gibi aralıklı açıklama için QlikView'in kullanabileceğimiz bir özelliği var: INTERVALMATCH fonksiyonu. Söz dizimi şu şekildedir:
INTERVALMATCH(aralıkta kontrol edilecek verinin olduğu sütun)LOAD (aralığın başlangıç noktası), (aralığın bitiş noktası)FROM (kaynak)
Örneğin elimizde satış elemanlarına gelen arama sayıları olsun. Arama miktarını aşağıdaki gibi belli aralıklarla performans olarak nitelediğimizi düşünelim:
Satış elemanlarının performanslarını, bu tabloya bakarak kendilerine gelen arama sayılarına göre nitelendirmek istiyoruz. İşte burada devreye INTERVALMATCH fonksiyonu giriyor. Verimizi rapora yükledikten sonra fonksiyonumuzu kullanıyoruz ve çıkan sonuç:
Çalışma dosyasına buradan erişebilirsiniz.
  • Raporunuzda oluşturduğunuz grafikte değerlerin belli formatlarda gösterilmesini isteyebilirsiniz. Örneğin elinizde hergünün arama miktarları var. Kullanıcının seçtiği niteliğe göre (üretkenlik, toplam süre, toplam miktar) grafikte gün kırılımında değerler görünecek. Bunun için QlikView'in data island dediği kavramı kullanıyoruz. Formatlarımızı tutan bir tablo oluyor ve grafiğimizin İfade kısmında bu formatlara göre Set Analysis kuralı yazarak grafğimizi oluşturuyoruz:
If (Metrics = 'Call Quantity', sum(calls), if (Metrics = 'Call Duration', sum(call_time_minutes), sum(calls)/sum(call_time_minutes)))
Çalışma dosyasına buradan erişebilirsiniz.
  • Bir değişken tanımlayarak QVD dosyanızı kaydettiğiniz yeri esnek yapıya dönüştürebilirsiniz. Örnek:
set vSaveQVD = C:\QlikView\QVDs\;STORE Sales into $(vSaveQVD)Sales.qvd(qvd);
  • QVD dosyalarının avantajları:
    • Diğer veri kaynaklarına göre büyük veri setleri için daha hızlı yükleme
    • Increment yüklemeye olanak sağlaması
    • Veri ambarını daha az yorması
    • Tüm QlikView uygulamarı/raporları tarafından  kullanılabilmesi
    • Veri kaynağına göre daha az yer kaplaması
  • QlikView uygulamasını açtıktan sonra Yardım|Başlangıç Sayfasını Göster ekranının En Son kısmında açmak istediğiniz raporun üzerinde sola tıklayıp Veri Olmadan Aç diyerek açmak istediğiniz raporun verisinin memory'ye dolmasını beklemeden yani raporunuzu veri içermeden açabilirsiniz.
İyi çalışmalar..

QlikView Scripting 5: Temel Veri Modeli

  • Raporunuza yüklediğiniz tabloların alacakların şekillerin birbirleriyle kıyaslanması:


  • Kaynak tüketimi, kullanıcı memnuniyeti, model esnekliği ve çalışma süresini göz önüne alınarak değerlendirme yapınca verinin yer aldığı tabloları yandaki gibi yıldıza benzer şekilde yani Star şema formatında rapora yüklemek daha doğru bir tercih oluyor. Star şemanın merkezinde tüm alanları veriyle birlikte içeren ana bir tablo yer alır. Yüklenen açıklamalarının yer aldığı tablolar, ID'ler üzerinden ana tablo ile bağlantı kurar. Böylece  ve denormalize olarak yüklenmiş oluyor.
  • Yüklediğiniz tablolardaki alanlardan birden fazlası aynı isimde ise QlikView otomatik olarak aynı alan isimlerine sahip bu tablolar arasında bağlantı kurabilmek için Sentez anahtarları oluşturur. Ve bu anahtarları oluşturduğı Sentez tablolarında (raporda $Syn adıyla yer alırlar) toplar. Bu istenen bir durum değildir çünkü bu durum hem kötü bir data modeline sebep olmakta hem de raporun performansını düşürmektedir. Sentez anahtar ve tablolarından kurtulmanın yolu, aynı alan isimlerini farklı isimlendirmek veya QUALIFY komutunu kullanmak ve aralarında bağlantı kurulmak istenen tabloların üzerinden bağlantı kurulacak alanlar için AUTONUMBER komutunu kullanarak tek satır özgün bir anahtar alan oluşturmak.
  • Tablo Görüntüleyicisi'nde tabloda bir alanın üzerine fareyi getirerek o alanın ne kadar dolu olduğunu (Bilgi yoğunluğu) ve alanların ne kadar özgün olduklarını (Altküme oranı) görebilirsiniz.
  • Tablo Görüntüleyicisi'nde tablo üzerinde sağ tıklayıp Ön İzleme ile tabloda yer alan ilk 1000 kaydı görebilirsiniz. QVD dosyalarını aktarmadan bunu yapabilmek için QViewer'ı kurmanız gerekmektedir.
  • Ayarlar|Belge Özellikleri...|Tablolar ekranında tabloda yer alan alanların etiketlerini ayarlayabilirsiniz.
İyi çalışmalar..

15 Ağustos 2015 Cumartesi

QlikView Scripting 4: Sorgu Özellikleri ve Fonksiyonları

  • Yeni QlikView oluşturduğunuzda Kod Düzenle ekranında değerlerin (numara, para değeri, tarih) formatı belirlenir. Satır başındaki çekiç işaretine tıklayarak isterseniz bu değerleri değiştirebilirsiniz.
  • Her başarılı bağlantı, kendisinden önceki bağlantıyı keser. Başarılı bir başka bağlantı öncesi bağlantıyı kesmek isterseniz sorgunun kesmek istediğiniz anına denk gelen satırına DISCONNECT komutunu yazmanız yeterlidir.
  • Sorgular, en üstten aşağı ve en sol sekmeden sağa doğru çalışır.
  • Rapora yüklediğiniz iki farklı tabloda aynı isimle alanlar var ise bu iki tablo arasında bu iki alan üzerinden bağlantı kurulur. Bağlantı kurulmasını istemiyorsanız bu tablolardan birinde yer alan ve bağlantı kuran alanın ismini değiştirmeniz gerekmektedir.
  • Eğer aynı alan ismini birden fazla tabloda kullanmakta ısrarcıysanız QUALIFY komutunu kullanabilirsiniz. 
Aşağıdaki sorgu sonucunda yandaki gibi alan isimlerine sahip bir tablo oluşacak:
QUALIFY *;
UNQUALIFY Priority, Stage;
DefectTable:
LOAD * INLINE [
Defect, Group, Priority, Stage
1, Reports, High, Queued
2, Data, Low, Reported
3, Data, High, Closed
4, Object, Medium, Rejected
5, Security, High, Reported
6, System, Medium, Rejected
7, Security, High, Closed];
Bu sayede alan isimleri başında tablo ismiyle birlikte yer alacağından bir başka tablodaki aynı isimli alanla bağlantı kurmayacak.
  • Raporunuza birden fazla tablo yüklemiş ve her birinin alan ismini değiştirmekle uğraşmak istemiyor veya değiştirmek istediğiniz alanlar ile yeni alan isimlerini bir yerde toplayıp alan isim değişikliği yapmak istiyorsanız QlikView'in MAPPING özelliğini RENAME FIELD komutuyla kullanarak hızlı çözüm üretebilirsiniz.

Raporumuza yüklediğimiz tablolardaki tüm alanların isimlerini ayrı bir tabloda topladık ve karşılarına yeni isimlerini yazdık. Sonrasında bu tabloyu raporumuza yükleyip RENAME FIELD komutunu kullanarak tek seferde istediğimiz alan isimlerini verebiliriz:
Map_Table:
MAPPING LOAD 
DATA_FIELD_NAME, 
DISPLAY_FIELD_NAME
FROM Mapping_Fields.QVD (QVD);
RENAME FIELDS USING Map_Table;
  • QlikView'de sorgular üzerinde kullanabileceğiniz bazı komutlar:
    • if…then…elseif…else…end if
    • For…next
    • For each…next
    • Do…loop
    • Switch…case…default…end switch
    • Exit script
    • Sub…end sub
    • Call
İyi çalışmalar..

Standart Tabloları: Bir Sütundaki Değerleri Ayrı Sütunlara Çevirmek


Elimizdeki veri ile uğraşırken zaman zaman sütun başlıklarını satıra, satırlarının her birini ayrı bir sütuna dönüştürme ihtiyacı duyuyoruz. Sütun başlıklarını satıra çevirmek için bir önceki yazımda anlattığım Dosya Sihirbazı'nı kullanabiliyoruz. Fakat sütunda yer alan değerlerin her birini ayrı bir sütuna çevirmek için orijinal adıyla Generic table veya diğer ismiyle Standard table'lar oluşturmamız gerekiyor.

Örneğin elimizde yukarıdaki resimdeki gibi bir veri olsun. Ve biz Stage sütununu satırlara çevirmek (yani tabloya beş yeni sütun -queued, reported, closed, rejected ve verified- eklemek) istiyoruz. Yani elimizdeki veriyi aşağıdaki tabloya dönüştüreceğiz.

Elimizdeki veriyi raporumuza ekleyelim. Tablonun INLINE sorgusu aşağıdaki gibidir:
DefectTable:
LOAD * INLINE [
Defect, Group, Priority, Stage
1, Reports, High, Queued
2, Data, Low, Reported
3, Data, High, Closed
4, Object, Medium, Rejected
5, Security, High, Reported
6, System, Medium, Rejected
7, Security, High, Closed
8, Object, Low, Queued
9, Data, Medium, Closed
10, Requirements, Medium, Verified];

Veriyi aktardıktan sonra satırlara çevireceğimiz sütunun her değeri için ayrı bir tablo oluşturuyoruz. Bunun için  QlikView'in GENERIC LOAD özelliğini kullanacağız.
QlikView GENERIC LOAD'un sözdizimi şu şekildedir:
GENERIC LOAD 
   [diğer tablolarla bağlantı kurduracak anahtar alan],
   [değerleri sütunlara çevrilecek sütun adı],
   [yeni sütunların değerleri]
FROM/RESIDENT [kaynak]
Bizim verimize göre GENERIC LOAD sorgumuz şu şekilde olacak:
Workflow:
GENERIC LOAD 
   Defect, 
   Stage, 
   'x' 
RESIDENT DefectTable;
Sonrasında soldaki resimde olduğu gibi her bir sütun değeri için ayrı bir tablo olarak 5 artı kaynak tablomuz olmak üzere toplamda 6 tablomuz olacak.

Her bir sütun değerini ayrı bir sütun yapmak için yola çıkmıştık. Evet, şimdi her bir değerimizin yer aldığı tabloyu ana tablomuzla birleştirerek istediğimiz formatta tek bir tablo elde edeceğiz.
Bunun için tek tek her bir bir değer tablosunu ana tablomuz için LEFT JOIN yapıyoruz:
FOR t = 0 to NoOfTables()
TableList:
LOAD 
   TableName($(t)) as Tablename
   AUTOGENERATE 1
WHERE WildMatch(TableName($(t)), 'Workflow.*');
NEXT t
FOR t = 1 to FieldValueCount('Tablename')
LET vTable = FieldValue('Tablename', $(t));
LEFT JOIN (DefectTable) 
LOAD * 
RESIDENT $(vTable);
DROP TABLE $(vTable);
NEXT t
DROP TABLE TableList;
Ve istediğimiz gibi, en başta elimizdeki verinin Stage sütununda yer alan her bir değeri ayrı bir sütuna çevirmeyi başardık!

İyi çalışmalar..

QlikView Scripting 3: Dışarıdan Yüklenen Verinin Dönüşümü

Bildiğiniz gibi QlikView raporunuza XLS, XLSX, CSV, TXT XML ve HTML formatındaki bir dosyada yer alan veriyi aktarabilirsiniz. Bu veriyi aktarırken gereksiz kısımları silmek veya verinin şekil formatını değiştirmek gibi bazen veride dönüşüm yapmaya ihtiyacınız oluyor. Dosya Sihirbazı ekranı, yüklediğiniz dosyada yapmak istediğiniz tüm bu değişiklikler için size imkan veriyor.
Peki dosyayı nasıl yükleyecek ve bu ekrana nasıl ulaşacağız? Kod Düzenle ekranının alt kısmında yer alan panelin Veri sekmesinde Tablo Dosyaları...'na tıklayarak yüklemek istediğimiz dosyayı seçeriz.
Dosyayı seçip tamam dediğimizde Dosya Sihirbazı ekranı karşımıza çıkar. Karşımıza çıkan bu ilk ekrandaki kısımlarda yaptığımız seçimlerin yüklediğimiz tabloya etkisini de Dosya Sihirbazı ekranında görebiliyoruz.

  • Dosya Türü kısmında, yüklediğimiz dosyanın türünü bir daha bize teyit ettiriyor. 
  • Tablolar kısmında, dosyadaki hangi tabloyu yüklemek istediğimizi seçtiriyor. 
  • Üstbilgi Boyutu kısmında, seçtiğimiz tablonun üstten kaçıncı satır ile veri almaya başlamasını belirliyoruz.
  • Etiketler kısmında, sütunların isimlerinin ne olmasına (dosyada yer aldığı gibi mi yoksa sırasıyla rastgele başlık mi atansın) karar veriyoruz. Eklenmiş Etiketler'i seçersek dosyanın ilk satırını sütun isimleri olarak görüyor. Hiçbiri'ni seçersek ilk satırın üstüne bir satır daha ekleyip sırasıyla rastgele başlık atıyor ve tablonun ilk satırı, diğer satırlar gibi veri değerlerinin yer aldığı satır haline geliyor.
Akabinden Sonraki diyerek devam ediyoruz. Karşımıza çıkan ekranda Dönüştürme Adımını Etkinleştir'i seçerek yüklediğimiz verinin şeklinde yapmak istediğimiz değişiklikleri yapabileceğimiz ekrana ulaşıyoruz. Bu ekranda seçimler yaparak istediğiniz veya belli bir kurala uymayan satırları silebilir, veya belli bir kural ile boş kısımları doldurabilir, yeni sütun ekleyebilir veya tabloyu sağa/sola istediğiniz tarafa çevirebilirsiniz.
Sonraki diyerek devam ettiğimizde karşımıza çıkan ekranda tüm yaptıklarımız sonrasında yüklediğimiz tablonun durumunu kontrol edip yine Sonraki dediğimizde yaptığımız tüm değişiklikleri tabloya yansıtarak tabloyu raporumuza aktarmamızı sağlayacak sorguyla karşılaşırız. Son dediğimizde sorgu, raporumuzda Kod Düzenle ekranına eklendiğini görürüz.

İyi çalışmalar..

QlikView Scripting 2: Sorgu Yazmak

Merhaba,
Sorgu (terminolojide SQL), QlikView uygulamasının kalbidir. Kaynağınızdan veriyi sorgu yardımıyla raporunuza aktarırsınız. Kaynağınızın çeşidine (Oracle, Teradata, MS SQL Server, MS Access..) uygun sorgu yazmanız gerekmektedir; yani çalışmasını istediğiniz sorgu, veri tabanınızın SQL programında da çalışabilir olması gerekiyor. QlikView'in sorgu ekranını basit bir SQL programı olarak düşünebilirsiniz.
  • QlikView raporunuzun sorgusunu Kod Düzenle ekranından (Ctrl+E kısayoluyla da ulaşabilirsiniz) düzenleyebilirsiniz.
  • Kod Düzenle ekranını ilk açtığınızda default genel numara, para, zaman ve tarih genel ayarlarının kodları sizi karşılar.
  • Kullanıcılardan sorguyu gizlemenizi sağlayacak Gizli Kod özelliği var. Özellikle güvenlik kaygısıyla Section Access kodlarını gizlemek için kullanabilirsiniz.
    • Kod Düzenle ekranında Dosya|Gizli Kod Oluştur... ile gizlemek istediğiniz sorgular için bu özelliği kullanabilirsiniz.
    • Gizli Kod her zaman sekmelerin en solunda yer alır. Yani tüm diğer sekmelerden önce çalışır. Ayrıca çalışırken ekranda bu sorguya ait herhangi birşey göremezsiniz ve bu kısım loglanmaz.
    • Başka bir QlikView dosyasındaki veriyi Gizli Kod ile yüklemeyemezsiniz (Binary Load).
  • Kod Düzenle ekranında Dosya|Dış Kod Dosyası Aç'ı seçerek .qvs veya .txt formatında kaydedilmiş bir sorguyu raporunuzda açabilirsiniz.
  • Raporda Ayarlar|Kulllanıcı Tercihleri|Kaydet ekranında Yeniden Yüklemeden Önce Kaydet'i seçerek rapor her yüklemenizden önce otomatik olarak kaydedebilirsiniz.
  • Raporunuzda Dosya|Tablo Görüntüleyicisi'yi (Ctrl+T kısayoluyla da ulaşabilirsiniz) seçerek sorguyla oluşturduğunuz tabloları ve tabloların birbirleriyle ilişkilerini görebilirsiniz.
  • Kod Düzenle ekranında Düzenle|Yorum veya Düzenle|Yorumu Kaldır ile sorgudaki herhangi bir satırı hızlıca yoruma çekebilir veya yorumdan kaldırabilirsiniz.
  • Kod Düzenle ekranında Ekle|Ortam Değişkenleri ile yeni dosyanın sorgu kısmında default olarak gelen değerlerin formatlarını ekleyebilirsiniz.
  • Kod Düzenle ekranında Ekle|Include Deyimi ile tekrar tekrar kullanacağınız bir sorguyu sorgunuza ekleyebilirsiniz. Bunun güzelliği, eklediğiniz sorgunun kaynağını değiştirdiğinizde otomatik olarak bu sorgunuzda da değişecek.
  • Kod Düzenle ekranında Ekle|Yükle Deyimi ile var olan bir tablonuzu sorguya aktarabilir veya açılacak pencereyle excelde tablo oluşturur gibi sorgunuz için tablo oluşturabilirsiniz.
  • Kod Düzenle ekranında Ekle|Bölüm Erişimi ile raporunuza erişim güvenliği oluşturabilirsiniz. Bu kısmın özel bir adı var: Section Access. Bu konuyu bir başka yazımda daha detaylı inceleyeceğim.
  • QlikView'de farklı sekmelere yazdığınız sorgular sol baştan başlayarak çalışır.
  • Kod Düzenle ekranında Sekme|Öncekiyle Birleştir... ile iki farklı sekmedeki sorgunuzu önce olan sekmede bir araya getirip sonraki sekmeyi silmiş olursunuz.
  • Kod Düzenle ekranında Araçlar|Söz Dizimi Kontrolü ile sorgunuzu çalıştırmadan önce doğruluğunu kontrol edebilirsiniz.
  • Sorgu ekranın alt kısmında bulunan panelin Fonksiyonlar kısmında sorgunuzda kullanabileceğiniz tüm fonksiyonları kategorize edilmiş halde bulabilir ve kolayca sorgunuza kopyalayabilirsiniz. Fonksiyonların adlarının alt kısmında kullanım örnekleri bulunmaktadır.
  • Sizden sonra raporunuz üzerinde çalışanlara kolaylık olması için sorgunuza üç şekilde yorum ekleyebilirsiniz:
    • REM ve ; [noktalı virgül] arasına istediğiniz formatta yorumunuzu yazabilirsiniz
    • Yorumunuzu yazar, sonrasında yorumunuzun yer aldığı her satırının başına //  [iki taksim işareti] eklersiniz
    • Veya yorum olarak yazdığınız kısmı seçip Düzenle|Yorum ile kolayca yorum haline getirebilirsiniz
  • Sorgularınızı sekmelere ayırma kuralı size kalmış. Ben veri kaynağını ve raporun ara yüzünü esas alarak sorgumu sekmelere ayırıyorum.