SQL dönüşümleri ekleme | Qlik Cloud Yardımı
Ana içeriğe geç Tamamlayıcı içeriğe geç

SQL dönüşümleri ekleme

Dönüşüm görevlerine SQL tabanlı tablolar ekleyebilirsiniz. Bir SQL dönüşümü, karmaşık veya basit dönüşümleri tanımlamak için bir işlem hattına SQL SELECT sorgusu girmenize olanak tanır. Üretken yapay zeka kullanarak SQL assistant'ın bir metin isteminden sorgu oluşturmasını sağlayabilirsiniz. İlk yükleme veya artan yükleme gerçekleştirildiğinde sorgunun çalışacak şekilde uyarlanması için makroları da kullanabilirsiniz.

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

SQL dönüşümü ekleme

Bir Dönüştür veri görevine SQL dönüşümü eklemek için:

  1. Dönüştür bölümünde, sorguya dahil edilecek veri kümelerini seçin ve SQL dönüşümü ekle seçeneğine tıklayın.

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

    SQL dönüşümünü oluşturmaya hazır olduğunuzda Ekle seçeneğine tıklayın.

    SQL dönüşümünü düzenle görüntülenir.

  2. Sorgu bölmesinde SQL tabanlı tabloyu döndürecek sorguyu yazın.

    Daha fazla bilgi için bkz. SQL sorgusunu düzenleme.

  3. Sorguyu çalıştır seçeneğine tıklayın.

    Bu işlem meta verileri ve verilerin önizlemesini getirir.

  4. Parametreler bölümündeki parametreleri inceleyin.

    Daha fazla bilgi için bkz. Parametreler.

  5. Meta veriler bölümünde bir birincil anahtar ayarlayın.

    Daha fazla bilgi için bkz. Meta veriler.

  6. Sorgunun sonuçlarından memnun kaldığınızda Kaydet ve kapat seçeneğine tıklayın. Veri kümesi artık hedefler listesine eklenmiştir ve bunu önizleyebilirsiniz.

SQL sorgusunu düzenleme

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

  • Nesneler bölümünden bir veri kümesi yüklemek için bir ifade oluşturabilirsiniz. daha fazla simgesine ve ardından Düzenleyicide select ifadesi oluştur seçeneğine tıklayın.

  • daha fazla simgesine ve ardından Kopyala seçeneğine tıklayarak bir veri kümesinin adını panoya kopyalayabilirsiniz.

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

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

Bilgi notuÜretken yapay zeka kullanarak sorgu oluşturmak için SQL assistant aracını kullanabilirsiniz. Daha fazla bilgi için bkz. Bir metin komut isteminden SQL dönüşümü oluşturma. SQL assistant, Qlik Cloud Government sürümünde kullanılamaz.

Artan yükleme kullanılıyorsa ilk yükleme veya artan yükleme gerçekleştirildiğinde sorgunun çalışacak şekilde uyarlanması için Makrolar seçeneğini kullanabilirsiniz.

Daha fazla bilgi için bkz. Sorguyu yükleme türüne uyarlamak için makroları kullanma.

Klavye kısayolları

Bilgi notuKlavye kısayolları, Windows işletim sisteminde çalıştığınız varsayılarak ifade edilmiştir. macOS için Ctrl yerine Command tuşunu kullanın.
  • Ctrl+F Bul ve değiştir

  • Ctrl+/ Geçerli satırı yorum satırı yap/yorum satırından çıkar

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

  • Ctrl+Z Geri al

  • Ctrl+Y Yinele

Sonuçları önizleme

Sonuçları, Sonuçlar bölümündeki verilerin bir örneğini kullanarak önizleyebilirsiniz.

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

Verileri önizleyebilmek için size aşağıdaki rollerin atanmış olması gerekir:

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

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

Verilerin bir örneği kullanılarak elde edilen sonuçlar görüntülenir. Satır sayısı seçeneğiyle örneğe kaç veri satırının dahil edileceğini ayarlayabilirsiniz.

  • Son yürütülen sorgunun son çalışma zamanını 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.

  • Filtrelenecek ilk sütundaki daha fazla simgesine ve ardından Filtrele seçeneğine tıklayın.

    Hangi operatörün kullanılacağını ve hangi değere göre filtreleneceğini seçin.

    Filtre ekle seçeneğine tıklayarak daha fazla sütun filtresi ekleyebilirsiniz.

Filtre yalnızca mevcut örnek verileri etkiler.

Sonuçları sıralama

Veri örneğini belirli bir sütuna göre sıralayabilirsiniz.

  • Sıralanacak sütundaki daha fazla simgesine ve ardından Artan düzende sırala veya Azalan düzende sırala seçeneğine tıklayın.

Sıralama yalnızca mevcut örnek verileri etkiler. Yalnızca 2024 yılına ait siparişleri dahil etmek için bir filtre kullandıysanız ve sıralama düzenini tersine çevirirseniz örnek veriler yine de yalnızca 2024 yılına ait siparişleri içerir.

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 bu seçim kaydedilmez.

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

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

Parametreler

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

Şu işlemleri yaptığınızda parametreler otomatik olarak eşlenir:

  • Nesneler bölümünde Düzenleyicide select ifadesi oluştur seçeneğini kullandığınızda.

  • Bir veri kümesini veya sütun adını düzenleyiciye taşımak için > seçeneğine tıkladığınızda.

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

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şlenir.

Şunlarla eşleme yapabilirsiniz:

  • Geçmiş türü 2 yapıları (_history)

  • Geçerli yapılar

  • Hedef nesneler

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

İpucu notuDaha kolay okunabilen bir sorguya sahip olmak için bir parametreyi referansla değiştirebilirsiniz. Parametre alanındaki değeri değiştirdiğinizde SELECT sorgusu içindeki referans da değişir.

Meta veriler

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

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

    Anahtarları öner ve doğrula seçeneğine tıklayarak uygun birincil anahtarlar için öneriler alabilir ve anahtarları doğrulayabilirsiniz.

  • Boş bırakılabilir sütununda sütunun boş bırakılıp bırakılamayacağını ayarlayın.

  • Bir sütun seçin ve sütun adını, anahtarı, boş bırakılabilirliği ve veri türünü ayarlamak için Düzenle seçeneğine tıklayın.

Anahtarları önerme ve doğrulama

Anahtarları öner ve doğrula seçeneğine tıklayarak uygun birincil anahtarlar için öneriler alabilir ve anahtarları doğrulayabilirsiniz. Tam SQL sorgusunun en az bir kez çalıştırılmış olması gerekir.

  • Bölgeler arası çıkarımı kabul ettiyseniz anahtarları önermek için GenAI kullanılır. Bu, Qlik Cloud servisinin kiracı bölgenizin dışına çıkarım istekleri göndermesine olanak tanır. Ayrıntılar ve çıkarım işleme konumları hakkındaki en son bilgiler için bkz. Bölgeler arası çıkarımı etkinleştirme.

    Bilgi notuQlik, oluşturulan çıktıyı kontrol etmez. GenAI'ın doğası gereği, yanıtlar incelenmeden veya düzenlenmeden gereksinimlerinizi karşılayan bir SQL üretmeyebilir. Oluşturulan sorgu, Qlik Müşteri Sözleşmesi koşulları kapsamında "İçerik" olarak kabul edilir.
    Qlik Cloud Yönetimi notu

    GenAI destekli anahtar önerisi, Qlik Cloud Government sürümünde kullanılamaz.

    GenAI etkinleştirilmemişse anahtarlar, kaynak tablo verilerine göre programlı olarak önerilir.

  • Doğrulama, yinelenen veya NULL değerlerin bulunmadığından emin olan bir SQL sorgusu çalıştırılarak her zaman GenAI kullanılmadan gerçekleştirilir.

    Bilgi notuDoğrulama yalnızca sorgu veri döndürdüğünde kullanılabilir.
  • Anahtarları öner ve doğrula

    Bu işlem sorguyu ve kaynak tablo anahtarlarını inceler ve geçerli birincil anahtarlar önerir. Bu işlem biraz zaman alabilir.

  • Anahtarları doğrula

    Bu işlem, benzersiz ve NULL olmadıklarından emin olmak için mevcut birincil anahtarları doğrular. Bu işlem biraz zaman alabilir.

  • Doğrulama olmadan öner

    Bu işlem sorguyu ve kaynak tablo anahtarlarını inceler ve doğrulama yapmadan birincil anahtarlar önerir. Anahtarları uygulamadan önce manuel olarak inceleyin ve doğrulayın.

Sorguyu çalıştırma

Geliştirme sırasında istediğiniz zaman Sorguyu çalıştır seçeneğine tıklayarak sorguyu çalıştırabilirsiniz. Bir sorguyu ilk kez çalıştırdığınızda meta veriler alınır. Sorgu çalıştırıldığında Meta veriler bölümüne gidip 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 seçeneğine tıklayarak tek bir sorgu çalıştırabilirsiniz.

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

Artan yükleme kullanılıyorsa ilk yükleme veya artan yükleme gerçekleştirildiğinde sorgunun çalışacak şekilde uyarlanması için Makrolar seçeneğini kullanabilirsiniz.

Makroyu seçin ve sorguyu ilgili yan tümcenin içine ekleyin.

  • Q_RUN_INCREMENTAL, yalnızca bir artan yükleme gerçekleştirildiğinde çalışan bir sorgu yerleştirebileceğiniz bir yan tümce ekler.

  • Q_RUN_INITIAL_LOAD, yalnızca bir ilk yükleme gerçekleştirildiğinde çalışan bir sorgu yerleştirebileceğiniz bir yan tümce ekler.

Her makroyla tam sorguyu belirtmeniz gerekmez. Kodunuzu kullanım örneğinize göre ayarlayabilir veya kod ekleyebilirsiniz.

Kullanım örneği: Tarih aralığı kullanarak artan filtreleme:

Bu kullanım örneğinde, bir sipariş verileri kümesinin özel SQL ile dönüştürülmesi gerekir. Bu büyük bir veri kümesi olduğundan, artan yüklemenin yalnızca son 12 saate ait siparişleri dikkate almasını sağlamak için artan 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 siparişleri dikkate aldığınız, artan ç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österimiyle değiştirilmesi önerilir. Bu, örneğin geliştirmeden üretime geçerken ortamdan ortama değişebilen veritabanı ve şema adlarının sabit kodlanmasını önler.

Bu, filtre makrosu kullanılan ve tablo adlarının ${TABLE} gösterimiyle değiştirildiği 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ükleme 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

Ve bir artan yükleme 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 örneği: Hedefteki verileri kullanarak artan filtreleme:

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

Bilgi notuBu örnekte görebileceğiniz gibi makrolar, ilk yükleme veya artan yükleme için sorgunun herhangi bir bölümünü ayarlamak amacıyla 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, artan ç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 notuArtan yükleme, bir ${TABLE} gösterimini dönüşüm görevi tarafından oluşturulan hedef nesnelerle de eşleyebilir.

Bu, filtre makrosu kullanılan ve tablo adlarının ${TABLE} gösterimiyle değiştirildiği tam sorgudur. Yükleme ilk yüklemeyse LOADED_BY değeri INIT, yükleme artan yüklemeyse 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ükleme 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

Ve bir artan yükleme 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 simgesine 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

    • Bir SQL dönüşümü eklediğinizde birincil anahtar otomatik olarak tanımlanmaz. Veri Kümesi sekmesinde veri kümesine bir anahtar ekleyin.

    • Dönüştürülen çı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 SELECT kullanmaktan kaçının. Şemada bir değişiklik olduysa sorguyu buna göre değiştirin ve Tabloyu açıkla işlemini tekrar gerçekleştirin. Ardından sütunları düzenleyebilir ve tabloları ayarlayabilirsiniz.

    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!