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

SQL dönüştürmeleri ekleme

SQL tabanlı tabloları dönüştürme görevlerine dahil edebilirsiniz. SQL dönüşümü, karmaşık veya basit dönüşümleri tanımlamak için bir işlem hattına SQL SELECT sorgusu eklemenize olanak tanır. SQL assistant'ın üretken yapay zekayı kullanarak bir metin sorgusu oluşturmasına izin verebilirsiniz. Sorguyu, ilk yükleme veya artımlı yükleme gerçekleştirilirse çalışacak şekilde uyarlamak için makroları da kullanabilirsiniz.

Bir dönüştürme görevi oluşturma hakkında daha fazla bilgi için bkz. Verileri dönüştürme.

SQL dönüştürmesi ekleme

Bir Dönüştür görevi merkezine SQL dönüştürmesi eklemek için:

  1. Dönüştür'de sorguya dahil edilecek veri kümelerini seçin ve SQL dönüştürmesi ekle'ye tıklayın.

    Dönüşümün adını Name kısmında ayarlayın. Diğer ayarlar hakkında daha fazla bilgi için bkz. Ayarlar.

    SQL dönüştürmesini oluşturmaya hazır olduğunuzda Ekle'ye tıklayın.

    SQL dönüştürmesini düzenle seçeneği görüntülenir.

  2. SQL tabanlı tabloyu döndürecek sorguyu sorgu bölmesine yazın.

    Daha fazla bilgi için şuraya bakın: SQL sorgusunu düzenleme.

  3. Run query öğesine tıklayın.

    Bu işlem meta verileri ve verilerin bir önizlemesini getirecektir.

  4. Parametreleri Parametreler içinde gözden geçirin.

    Daha fazla bilgi için şuraya bakın: Parametreler.

  5. Meta Veriler içinde birincil anahtar ayarlayın.

    Daha fazla bilgi için şuraya bakın: Meta veriler.

  6. Sorgunun sonuçları beklentilerinizi karşıladığında Kaydet ve kapat'a tıklayın. Veri kümesi şimdi hedefler listesine eklenir ve veri kümesini önizleyebilirsiniz.

SQL sorgusunu düzenleme

SQL tabanlı tabloyu döndürecek sorguyu sorgu bölmesine yazın. Sorgu yalnızca seçtiğiniz kaynak veri kümelerinden okunabilir, ancak Ekle seçeneğiyle daha fazla kaynak veri kümesi ekleyebilirsiniz.

  • Bir veri kümesini Nesneler'den yüklemek için bir ifade oluşturabilirsiniz. daha fazla ve ardından Düzenleyicide seçme ifadesi oluşturun öğesine tıklayın.

  • Bir veri kümesinin adını panoya kopyalamak için daha fazla ve ardından Kopyala öğesine tıklayabilirsiniz.

  • Bir veri kümesini veya sütun adını düzenleyiciye taşımak için > öğesine tıklayın.

  • Düzenleyicide metin aramak ve değiştirmek için Ara öğesine tıklayın.

Bilgi notuSQL asistanını üretken yapay zekayı kullanarak bir sorgu oluşturması için kullanabilirsiniz. Daha fazla bilgi için şuraya bakın: Bir metin komut isteminden SQL dönüşümü oluşturma. SQL asistanı, Qlik Cloud Government içinde kullanılamaz.

Artımlı yükleme kullanılıyorsa sorguyu ilk yükleme veya artımlı yükleme yapıldığında çalışacak şekilde uyarlamak için Makroları kullanabilirsiniz.

Daha fazla bilgi için şuraya bakın: Sorguyu yük türüne uyarlamak için makroları kullanma.

Klavye kısayolları

Bilgi notuKlavye kısayolları, Windows'da çalıştığınız varsayılarak açıklanmıştır. macOS için Ctrl yerine Command kullanın.
  • Ctrl+F Ara ve değiştir

  • Ctrl+/ Geçerli satırı yorumla/yorumunu kaldır

  • Ctrl+Enter Sorguyu çalıştır

  • Ctrl+Z Geri al

  • Ctrl+Y Yinele

Sonuçları önizleme

Verilerin bir örneğini kullanarak Sonuçlar bölümünde sonuçları önizleyebilirsiniz.

Bilgi notuVeri önizlemesi, Yönetim bölümünde kiracı düzeyinde etkinleştirilmelidir. Veri Entegrasyonu içinde verileri görüntüleme seçeneğini Ayarlar bölümünde, Özellik kontrolü altında bulabilirsiniz.

Verilerin önizlemesini görebilmeniz için aşağıdaki rollere sahip olmanız gerekir:

  • Bağlantının bulunduğu alanda Verileri görüntüleyebilir.

  • Projenin bulunduğu alanda Görüntüleyebilir.

Verilerin bir örneğini kullanan sonuçlar görüntülenir. Satır sayısı ile örneğe eklemek istediğiniz satır sayısın ayarlayabilirsiniz.

  • Son yürütülen sorgunun son çalışma süresini ve süresini görmek için Son yürütülen sorgu seçeneğine tıklayın.

Sonuçları Filtreleme

Sonuçları bir veya daha fazla sütuna göre filtreleyebilirsiniz.

  • Filtrelemek istediğiniz ilk sütunda daha fazla öğesine ve ardından Filtrele öğesine tıklayın.

    Kullanılacak operatörü ve filtrelemek istediğiniz değeri seçin.

    Filtre ekle öğesine tıklayarak daha fazla sütun filtresi ekleyebilirsiniz.

Filtre yalnızca mevcut örnek verileri etkileyecektir.

Sonuçları sıralama

Örnek verileri belirli bir sütuna göre sıralayabilirsiniz.

  • Sıralamak istediğiniz sütunda daha fazla öğesine ve ardından Artan düzende sırala veya Azalan düzende sırala öğesine tıklayın.

Sıralama yalnızca mevcut örnek verileri etkileyecektir. Yalnızca 2024'ten siparişleri dahil etmek için bir filtre kullandıysanız ve sıralama düzenini tersine çevirdiyseniz, örnek veriler yine de yalnızca 2024'ten siparişler içerecektir.

Görüntülenen sütunları yönetme

Sonuçlarda hangi sütunların görüntüleneceğini seçebilirsiniz. Dönüşümü kaydettiğinizde seçim kaydedilmez.

  • Sütunda daha fazla seçeneğine ve ardından Sütunu gizle'ye tıklayarak bir sütunu gizleyin.

  • Herhangi bir sütunda daha fazla seçeneğine ve ardından Görüntülenen sütunlar'a tıklayarak tüm sütunların görünümünü yönetin.

Parametreler

SELECT sorgusundaki parametreleri değiştirmek için Parametreler'e tıklayın. Parametreler kaynak veya hedef nesnelerle eşlenmelidir.

Parametreler aşağıdaki durumlarda otomatik olarak eşlenir:

  • Nesneler bölümünde Düzenleyicide seçme ifadesi oluşturun seçeneğini kullanın.

  • Bir veri kümesini veya sütun adını düzenleyiciye taşımak için > öğesine tıklayın.

  • Bir parametre adı, Nesneler bölümündeki tablolardan bir tablo adıyla eşleşir.

Bilgi notuRastgele parametre adları kullanırsanız, parametreleri manuel olarak eşlemeniz gerekir. Yalnızca veri kümesi adlarıyla eşleşen parametre adları otomatik olarak eşlenecektir.

Geçmiş tür 2 yapılarına

  • (_history) eşleyebilirsiniz

  • Mevcut yapılar

  • Hedef nesneler

    Hedef nesneleri yalnızca bir parametre artımlı bir makro içinde tanımlandığında eşleyebilirsiniz.

İpucu notuDaha kolay okunan bir sorgu elde etmek için bir parametreyi bir başvuru ile değiştirebilirsiniz. Parametre'deki değeri değiştirirseniz, SELECT sorgusu'ndaki başvuru da değişir.

Meta veriler

Meta Veri bölümünde meta veri ayarlarını düzenleyebilirsiniz.

  • Anahtar sütununda birincil anahtarları ayarlayın.

  • Null değer atanabilir sütununda sütuna null değer atanıp atanamayacağını ayarlayın.

  • Sütun adını, anahtarı, null değer atanabilir ve veri türünü ayarlamak için bir sütun seçin ve Düzenle'ye tıklayın.

Sorguyu çalıştırma

Geliştirme sırasında istediğiniz zaman Sorguyu çalıştır öğesine tıklayarak sorguyu çalıştırabilirsiniz. Bir sorguyu ilk kez çalıştırdığınızda, meta veriler alınacaktır. Sorgu çalıştırıldığında Meta Veriler bölümüne gidebilir ve dönüşümün tamamlanması için gerekli olan birincil anahtarı ayarlayabilirsiniz.

Bilgi notuDüzenleyici birden fazla sorgu içeriyorsa, sorguyu seçip Sorguyu çalıştır öğesine tıklayarak tek bir sorgu çalıştırabilirsiniz.

Sorguyu yük türüne uyarlamak için makroları kullanma

Artımlı yükleme kullanılıyorsa sorguyu ilk yükleme veya artımlı yükleme yapıldığında çalışacak şekilde uyarlamak için Makroları kullanabilirsiniz.

Makroyu seçin ve sorguyu ilgili cümlenin içine ekleyin.

  • Q_RUN_INCREMENTAL, yalnızca artımlı bir yükleme gerçekleştirildiğinde çalıştırılan bir sorgu yerleştirebileceğiniz bir cümle ekler.

  • Q_RUN_INITIAL_LOAD, yalnızca ilk yükleme gerçekleştirildiğinde çalıştırılan bir sorgu yerleştirebileceğiniz bir cümle ekler.

Her makro ile sorgunun tamamını belirtmeniz gerekmez. Kullanım durumunuza göre kod ayarlayabilir veya ekleyebilirsiniz.

Kullanım durumu: Tarih aralığını kullanarak artan filtre:

Bu kullanım durumunda, bir dizi sipariş verisinin özel SQL ile dönüştürülmesi gerekir. Bu büyük bir veri kümesi olduğundan, artımlı yüklemenin yalnızca son 12 saatteki siparişleri dikkate almasını sağlamak için artımlı filtrelemeyi dahil etmek istersiniz.

Bu temel sorgudur:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM “mydb”.”myStorageTask”.”ORDER” O JOIN “mydb”.”myStorageTask”.”ORDER_DETAIL” OD ON O.ORDER_ID = OD.ORDER_ID

Bu, yalnızca son 12 saat içinde eklenen emirleri dikkate aldığınız artımlı çalıştırma sırasında uygulanacak filtredir:

WHERE OD.UPDATE_DTM > DATEADD(hour, -12, CURRENT_TIMESTAMP())
İpucu notuSQL tabanlı bir tablo uygularken, tablo adlarının ${TABLE} gösterimi ile değiştirilmesi önerilir. Bu, örneğin geliştirme aşamasından üretim aşamasına geçerken ortamdan ortama değişebilecek veritabanı ve şema adlarının sabit kodlanmasını önler.

Bu, filtre makrosunu kullanan ve tablo adları ${TABLE} gösterimiyle değiştirilen tam sorgudur:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID {{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}} WHERE OD.UPDATE_DTM > DATEADD(hour, -12, CURRENT_TIMESTAMP() ) {{/QLIK_FUNC_IF}}

Bu, bir ilk yük sorgusuyla sonuçlanır:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID

Ayrıca artan yük sorgusu:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID WHERE OD.UPDATE_DTM > DATEADD(hour, -12, CURRENT_TIMESTAMP() )

Kullanım durumu: Hedefteki verileri kullanarak artan filtre :

Bu kullanım durumunda, bir dizi sipariş verisinin özel SQL ile dönüştürülmesi gerekir. Siparişler büyük bir veri kümesi olduğundan, artımlı yüklemenin yalnızca hedef tablodaki verilerden daha yeni olan sipariş ayrıntıları kayıtlarını dikkate almasını sağlamak için artımlı filtrelemeyi dahil etmek istersiniz. Ayrıca bir satırın ilk yüklemede mi yoksa artımlı yüklemede mi işlendiğini de işaretlemek istersiniz.

Bilgi notuBu örnekte de görebileceğiniz gibi, makrolar sorgunun herhangi bir bölümünü ilk yükleme veya artımlı yükleme için ayarlamak üzere kullanılabilir.

Bu temel sorgudur:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM “mydb”.”myStorageTask”.”ORDER” O JOIN “mydb”.”myStorageTask”.”ORDER_DETAIL” OD ON O.ORDER_ID = OD.ORDER_ID

Bu, artımlı çalıştırma sırasında uygulanacak filtredir. "ORDERS_DERIVED" hedef veri kümesinin adıdır.

WHERE OD.UPDATE_DTM > = (SELECT MAX(LAST_UPDATE_DTM) FROM “mydb”.”myTrasformTask”.”ORDERS_DERIVED” )
İpucu notuArtımlı yükleme, dönüştürme görevi tarafından oluşturulan hedef nesnelere bir ${TABLE} gösterimini de eşleyebilir.

Bu, filtre makrosunu kullanan ve tablo adları ${TABLE} gösterimiyle değiştirilen tam sorgudur. LOADED_BY, yükleme ilk ise INIT olarak ve yükleme artımlı ise INCR olarak ayarlanır:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT, OD.LAST_UPDATE_DTM, {{#QLIK_FUNC_IF Q_RUN_INITIAL_LOAD}} ‘INIT’ as LOADED_BY {{/QLIK_FUNC_IF}} {{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}} ‘INCR’ as LOADED_BY {{/QLIK_FUNC_IF}} FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID {{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}} WHERE OD.UPDATE_DTM >= (SELECT MAX(LAST_UPDATE_DTM) FROM ${TARGET_TABLE} ) {{/QLIK_FUNC_IF}}

Bu, bir ilk yük sorgusuyla sonuçlanır:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT, OD.LAST_UPDATE_DTM, ‘INIT’ as LOADED_BY FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID

Ayrıca artan yük sorgusu:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT, OD.LAST_UPDATE_DTM, ‘INCR’ as LOADED_BY FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID WHERE OD.UPDATE_DTM >= (SELECT MAX(LAST_UPDATE_DTM) FROM ${TARGET_TABLE} )

Ayarlar

SQL dönüşümünün ayarlarını düzenlemek için Ayarlar öğesine tıklayın.

  • Ad alanında hedef veri kümesi için bir ad girin.

    Ayrıca Açıklama'ya daha uzun bir açıklama da girebilirsiniz.

  • Materyalleştirme alanında, dönüştürülen çıktının materyalleştirilip materyalleştirilmeyeceğini seçin. Ayarı veri görevi ayarlarından devralmayı seçebilirsiniz.

    • Açık, tablolar oluşturacak ve ilişkili ELT işlemlerini yönetecektir.

    • Kapalı, dönüşümleri anında gerçekleştiren görünümler oluşturur.

  • Geçmiş Veri Depolaması (2. Tür) alanında, geçmiş verileri saklamak isteyip istemediğinizi seçin. Ayarı veri görevi ayarlarından devralmayı seçebilirsiniz. Bu ayar, Gerçekleşme'nin açık olmasını gerektirir.

  • Artımlı yükleme, makrolar kullanılarak işlenen veri kümesini azaltmak için filtreler veya başka koşullar uygulayarak sorguyu artımlı bir veri yüklemesi için ayarlamanıza olanak tanır. Artımlı yükleme yalnızca veriler tablolar olarak somutlaştırılmışsa kullanılabilir.

    • Artan yük Açık olduğunda

      Görevin ilk yürütülmesi, sorgunun tüm sonuçlarını hedef tablonuza ekleyerek bir ilk yükleme gerçekleştirecektir. Sonraki yürütmeler, filtrelerden veya artımlı işleme için tanımladığınız belirli koşullardan yararlanarak artımlı yüklemeler gerçekleştirecektir. Artımlı yükleme sırasında, görev verileri yalnızca güncelleme veya ekleme olarak işler, silme işlemleri yönetilmez.

    • Artan yük Kapalı olduğunda

      Görevin ilk yürütülmesi, sorgunun tüm sonuçlarını hedef tablonuza ekleyerek bir ilk yükleme gerçekleştirecektir. Sonraki yürütmeler, hedef tablonuzla karşılaştırarak ve yeni, değiştirilmiş veya silinmiş kayıtları işleyerek sorgunun tüm sonuçlarını işleyecektir.

    Bilgi notuSorgu, hedefte bulunması gereken tüm kayıtları seçiyorsa Artımlı yüklemeyi kapalı olarak ayarlayın. Seçilmeyen kayıtlar hedefte silinir.
  • En iyi uygulama

    • SQL dönüştürmesi eklediğinizde birincil anahtar otomatik olarak oluşturulmaz. Veri kümesi sekmesinde veri kümesine bir anahtar ekleyin.

    • Dönüştürülmüş çıktıda sütun başlıklarını manuel olarak oluşturmayın.

    • Sorgu her çalıştırıldığında farklı sütunlar döndürebileceğinden, * ile SEÇ kullanmayın. Şemada bir değişiklik olduysa sorguyu buna göre değiştirin ve Tabloyu açıkla işlemini gerçekleştirin. Ardından sütunları düzenleyebilir ve tabloları değiştirebilirsiniz.

    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 lütfen bize bildirin!