Nesne dönüştürme ayrıntıları
Son güncelleme: 14.10.2026QV2QS, dönüştürme sırasında bir dizi QlikView'e özgü özelliği ele alır.
İfadeler
QV2QS QlikView ifadelerini Qlik Sense'e minimum dönüşümle aktarır. İfade dili büyük ölçüde QlikView ve Qlik Sense arasında paylaşılır, bu nedenle çoğu ifade değişiklik yapmadan çalışır.
QV2QS aşağıdaki dönüşümleri uygular:
- Eşittir öneki — Qlik Sense, ölçü ifadelerinde ve belirli özellik ifadelerinde önde gelen bir
=gerektirir. QV2QS, orijinal QlikView ifadesi bir önek içermiyorsa, gerektiğinde öneki ekler. - Yorum kaldırma —
//,#veyaREMile başlayan tüm satır yorumları, satır içi ifadelerden kaldırılır. Qlik Sense özellik ifadeleri, yorum söz dizimini tutarlı bir şekilde desteklemez, bu nedenle ayıklama değerlendirme hatalarını önler. Blok yorumları (/* */) kaldırılmaz. Bir kod satırı içindeki satır içi//yorumlar da kaldırılmaz.
Aşağıdaki ifade özellikleri olduğu gibi aktarılır ve Qlik Sense'te değişiklik yapılmadan çalışır:
- Küme analizi ifadeleri (örneğin,
{<Year={2024}>}) - Dolar işareti genişletmesi ve değişken referansları (örneğin,
$(vMyVar)) - İç içe
Aggr()ifadeler If()ifadeler, koşullu biçimlendirme ifadeleri dahilPick(),Match()veDual()kalıpları- Hesaplamalı boyutlar
Set analizi tırnak içine alma
QlikView (Kasım 2017'den önce), küme değiştiricilerindeki tek tırnak içindeki değerleri, çift tırnak içindeki değerlerle aynı şekilde, büyük/küçük harfe duyarsız aramalar olarak ele alıyordu. Qlik Sense tek tırnak içine alınmış değerleri büyük/küçük harfe duyarlı değişmezler olarak ele alır. Bu fark, joker karakterlere, karşılaştırma operatörlerine veya tek tırnak içinde sayısal eşleştirmeye dayanan ifadeleri bozabilir.
QV2QS tüm nesne ifadelerini ve değişken tanımlarını, Qlik Sense'te farklı davranan küme analizi alıntı kalıpları için tarar. Algılanan desenler tek tırnaklı joker karakterler ('*US*'), tek tırnaklı karşılaştırma operatörleri ('>=5'), sayısal alanlarda tek tırnaklı değerler ve tırnaksız ham dize değerleri içerir. Sonuçlar, Excel raporunun Expression_Findings çalışma sayfasında görünür.
QV2QS dönüştürme sırasında tek tırnak içine alınmış arama değerlerini otomatik olarak düzeltir. Tırnak içine alınmamış ham dize değerleri için deneysel bir düzeltme de mevcuttur ancak varsayılan olarak devre dışıdır.
- Tek tırnaklı arama değerleri (varsayılan olarak etkin) çift tırnaklara dönüştürülür:
{<Country={'*US*'}>}haline gelir{<Country={"*US*"}>}. Algılanan arama desenleri arasında joker karakterler (*,?,^), karşılaştırma operatörleri, fuzzy arama (~), ifade araması (=), arama değiştiricileri (+,-) ve bileşik arama bulunur. Arama sözdizimi içermeyen sayısal alanlardaki tek tırnak içine alınmış değerler, manuel inceleme için işaretlenir ancak otomatik olarak düzeltilmez. - Tırnaksız ham dize değerleri (deneysel, varsayılan olarak devre dışı) tek tırnak içine alınır:
{<Country={USA}>}{<Country={'USA'}>}şeklini alır. Etkinleştirmek için--fixUnquotedSetValuesgeçirin.
Düzeltmeler yalnızca ayarlı değiştirici değer listeleri içinde konumsal değiştirme kullanılarak uygulanır. Alan adları, fonksiyon adları ve diğer ifade metinleri asla değiştirilmez. İki düzeltme bağımsız olarak kontrol edilir. Tek tırnaklı düzeltmeyi devre dışı bırakmak için --noFixSingleQuotedSearch'i geçirin. Desteklenmeyen işlev bulguları değiştirilmez.
Şu Expression_Findings çalışma sayfası ve yönetici özeti panosu, her bir bulgunun bir değişken tanımından mı yoksa bir grafik nesnesi ifadesinden mi kaynaklandığını gösteren bir Source sütunu içerir. Bir Durum sütunu, bulgunun otomatik olarak düzeltilip düzeltilmediğini, manuel inceleme gerektirip gerektirmediğini veya otomatik bir düzeltmenin mevcut olup olmadığını gösterir.
Algılanan tüm desenlerin listesi için bkz. Analiz. Set analizi söz dizimi referansı için bkz. Set analizi Qlik Cloud yardımında.
QV2QS tüm ifade alanlarını (boyutlar, ölçüler, gösterme koşulları, renk ifadeleri, başlıklar, hesaplama koşulları ve diğerleri), değişken tanımlarının yanı sıra komut dosyası içinde desteklenmeyen işlevler için tarar. Algılanan örnekler analiz raporunda listelenmiştir.
Aşağıdaki QlikView'e özgü işlevler Qlik Sense'te kullanılamaz:
GetCurrentField,GetExtendedPropertyInput,InputSum,InputAvgMsgBoxImage_SizeNoOfReports,ReportComment,ReportId,ReportName,ReportNumber
Algılanan komut dosyası desenleri listesi için Analiz bölümüne bakın.
Sayı biçimlendirme
QV2QS, QlikView sayı biçimi tanımlarını Qlik Sense sayı biçimi türlerine dönüştürür. Biçim türü, Qlik Sense eşdeğerine eşlenir ve özel biçim dizesi (Fmt), ondalık ayırıcı, binlik ayırıcı ve ondalık kesinlik tümü olduğu gibi korunur. Özel biçim dizeleri, örneğin #,##0.00;(#,##0.00) veya '$'#,##0, qFmt alanında olduğu gibi geçirilir.
Aşağıdaki QlikView biçim türleri eşlenir:
| QlikView türü | Qlik Sense türü |
|---|---|
| SABİT, GERÇEK, TAM SAYI | Sabit (F) |
| MONEY | Para (M) |
| DATE | Tarih (T) |
| TIME | Zaman (T) |
| TIMESTAMP | Zaman Damgası (ZD) |
| INTERVAL | Aralık (IV) |
Sıralama
QV2QS tüm QlikView sıralama ölçütlerini Qlik Sense eşdeğerlerine dönüştürür. Aşağıdaki sıralama ayarları birebir eşlenir: duruma göre sırala, sıklığa göre sırala, sayısal değere göre sırala, alfabetik sıraya göre sırala, yükleme sırasına göre sırala, ifadeye göre sırala (ifade metni dahil) ve gri tonlamaya göre sırala.
Liste kutusu alanları için, QV2QS tarih benzeri alanlarda durum tabanlı sıralamayı bastırmak üzere ek bir sezgisel yöntem uygular. Ayrıntılar için bkz. Argüman referansı.
Görsel ipuçları ve koşullu renklendirme
QlikView görsel ipuçları (ölçütlerde eşik tabanlı koşullu renkler), tablo ve pivot tablo görselleştirmeleri için Qlik Sense renk ifadelerine dönüştürülür. QV2QS, orijinal düşük/normal/yüksek eşik davranışını taklit eden RGB() veya ARGB() renk fonksiyonları içeren iç içe If() ifadeler oluşturur. Hem metin rengi hem de arka plan rengi ipuçları dönüştürülür. Grafik görselleştirmelerindeki (sütun grafik, çizgi grafik, birleşik grafik ve diğerleri) görsel ipuçları dönüştürülmez.
İfade tabanlı renklendirme
QV2QS boyut başına ve ölçü başına renk ifadelerini (arka plan rengi ve metin rengi) Qlik Sense öznitelik ifadelerine dönüştürür. Tablo ve pivot tablo görselleştirmeleri için hem arka plan hem de metin rengi ifadeleri korunur (cellBackgroundColor ve cellForegroundColor). Grafik görselleştirmeleri için, ölçü arka plan rengi ifadeleri colorByExpression moduna dönüştürülür. Boyut renk ifadeleri ve ölçü metin rengi ifadeleri, Qlik Sense grafiklerinin boyut başına renk özniteliği ifadelerini veya ölçü başına metin rengi özniteliklerini desteklememesi nedeniyle grafik türleri için dönüştürülmez.
Tablo ve pivot tablo görselleştirmeleri için, bir ölçüde açık bir renk ifadesi yoksa ancak görsel ipuçları tanımlanmışsa, QV2QS, görsel ipucu eşiklerinden otomatik olarak bir renk ifadesi oluşturur.
Trend Çizgileri
QlikView grafik ölçümleri üzerindeki eğilim çizgileri, Qlik Sense eğilim çizgilerine dönüştürülür. Aşağıdaki eğilim çizgisi türleri desteklenmektedir:
- Ortalama, Doğrusal, Üstel, Logaritmik, Kuvvet
- Polinom (derece 2, 3 ve 4)
Referans çizgileri
QlikView referans çizgileri, grafik eksenlerinde Qlik Sense referans çizgilerine dönüştürülür. Etiket, değer ifadesi, renk, çizgi stili ve gösterme koşulu (koşullu görünürlük ifadesi) korunur. Bir referans çizgisi gösterim koşulu yoksa, varsayılan görünürlük her zaman gösterilir. Birleşik grafikler, hem birincil hem de ikincil eksenlerde referans çizgilerini destekler.
Birleşik grafik eksen ataması
QV2QS QlikView birleşik grafik eksen atamalarını korur. Her ölçüt, orijinal QlikView grafiğinden birincil veya ikincil eksen bağlamasını korur. Ölçü serisi türleri (sütun, çizgi, işaretleyici) de korunur.
Boyut grupları
QV2QS, QlikView döngüsel gruplarını ve detaylandırma gruplarını Qlik Sense ana boyutlarına dönüştürür. Döngüsel gruplar döngüsel ana boyutlar haline gelir. Detaylandırma grupları, detaylandırma ana boyutları haline gelir. Grup boyutuna başvuran grafikler, dönüştürülen uygulamada ilgili ana boyuta bağlanır.
Yazı tipi işleme
Qlik Sense, sabit bir web güvenli yazı tipi kümesini destekler. QV2QS, QlikView yazı tiplerini en yakın kullanılabilir Qlik Sense yazı tipine eşler. Eşlenemeyen yazı tipleri, yedek yazı tipini (Source Sans Pro) kullanır.
Aşağıdaki QlikView yazı tipleri açık eşlemelere sahiptir:
| QlikView yazı tipi | Qlik Sense yazı tipi |
|---|---|
| Arial, Helvetica, Tahoma, Calibri | Source Sans Pro |
| Segoe UI | Uluslararası |
| Verdana | Open Sans |
| Times New Roman, Times, Georgia | PT Serif |
| Courier New, Consolas | Source Sans Pro |
Qlik Sense yazı tipi kitaplığında olmayan özel yazı tipleri Source Sans Pro ile eşlenir.
Tek aralıklı yazı tipleri (Courier New, Consolas), orantılı yazı tipi Source Sans Pro'ya eşlenir. Tek aralıklı karakter hizalaması korunmaz.
Sistem değişkenleri
QV2QS sistem değişkenlerini dönüştürülen değişken listesinden hariç tutar. Bu değişkenler Qlik motoru tarafından yönetilir ve variables.json dahil edilmeleri gerekmez. Örnekler arasında DateFormat, ThousandSep, DecimalSep, TimestampFormat, ErrorMode ve NullDisplay yer almaktadır.
Komut dosyasında açıkça ayarlanmış sistem değişkenleri (örneğin, SET DateFormat='YYYY-MM-DD';) komut dosyasında korunur ve yeniden yükleme sırasında geçerli olur. Hariç tutma yalnızca dönüştürülen uygulamadaki değişken tanımları için geçerlidir, komut dosyasındaki SET veya LET ifadeleri için değil.
Kullanıcı tanımlı değişkenler dönüştürülür.
Trellis modu
Trellis modu etkinleştirilmiş QlikView grafikleri (EnablePrimaryDimension), mini grafiklerden oluşan bir kılavuz çizgi görüntülemek için ilk boyutu bir faceting alanı olarak kullanır. Qlik Sense standart grafiklerde yerel bir kafes moduna sahip değildir. QV2QS, Görselleştirme Paketi'nden gelen Qlik Sense kafes kapsayıcı genişlemesini (qlik-trellis-container) kullanarak kafes grafiklerini otomatik olarak dönüştürür.
Dönüştürme sırasında, QV2QS aşağıdaki adımları gerçekleştirir:
- Bir ana görselleştirme oluşturur — Orijinal grafik, kafes boyutları olmadan dönüştürülür. Yalnızca birincil kafes için, boyut 0 kaldırılır. İkincil kafes de etkinleştirildiğinde, 0 ve 1 boyutlarının her ikisi de kaldırılır. Kalan grafik, uygulamada bir ana görselleştirme olarak kaydedilir.
- Bir kafes kapsayıcı oluşturur — Bir
qlik-trellis-containernesnesi, orijinal grafik konumunda sayfaya yerleştirilir. Kapsayıcı, ana görselleştirmeyi referans alır ve kaldırılan boyutları veri tanımında yüzeyleme alanları olarak kullanır. Hem birincil hem de ikincil kafes etkinleştirildiğinde, kapsayıcı veri tanımı iki boyutlandırma boyutu içerir. - Kılavuz çizgiyi yapılandırır — QlikView sütun ve satır ayarları, kafes kapsayıcı sütun sayısına ve maksimum grafik sayısına eşlenir. Maksimum grafik sayısı, sütunlar ile satırların çarpımı olarak hesaplanır. Yüzeyleme boyutlarının kardinalitesi kılavuz çizgi boyutunu aştığında, QV2QS, tüm boyut değerlerini barındırmak için maksimum grafik sayısını artırır. İkincil kafes için, toplam kardinalite, birincil ve ikincil boyut kardinalitelerinin çarpımıdır. Değer, sütun sayısının en yakın katına yukarı yuvarlanır, böylece kılavuz çizgi eşit şekilde dolar. Bu genişleme bir grafik ayarlaması olarak kaydedilir.
Trelis kapsayıcı, orijinal grafik ile aynı qv_id eşlemesini kullanır, bu nedenle sayfada aynı konumu kaplar.
Yalnızca birincil kafes en az iki boyut gerektirir (biri kafes yüzeyleme için ve biri ana grafik için). Birincil ve ikincil kafes, en az üç boyut gerektirir (kafes yüzeyleme için iki ve ana grafik için bir tane). Gereken boyutlardan daha az boyutu olan grafikler atlanır.
Birikimi ölç
QlikView ölçü birikimi (kümülatif toplamlar), Qlik Sense birikim değiştiricilerine dönüştürülür. Aşağıdaki birikim modları desteklenmektedir:
- Tam birikim — Ölçü ifadesi,
RangeSum(),Above()veRowNo()kullanılarak tüm satırlarda birikimli toplam üretmek üzere yeniden yazılır. DeğiştiricifullAccumulationbayrağı,trueolarak ayarlanmıştır vestepsdeğeri 6'dır. - Adım birikimi — QlikView birikim adım sayısı 1'den büyük olduğunda, ölçü ifadesi
RangeSum()ileAbove()ve belirtilen adım sayısını kullanır. DeğiştiricifullAccumulationbayrağı şuna ayarlandı:false.
Oluşturulan birikim ifadesi, boyut alan türüne uyum sağlar:
- Sayısal boyutlar — Alan için analiz sınırları
Min()veMax()kullanır. - Metin boyutları — Analiz sınırlarını belirlemek için alan için
MinString()veMaxString()kullanın. - İki boyutlu grafikler — Bir
Aggr()sarmalayıcı, birikimi dış boyut bağlamında iç içe yerleştirmek için oluşturulur.
Birikim uygulandığında, QV2QS sürekli eksen modunu devre dışı bırakır (preferContinuousAxis=false) ve doğru görsel oluşturmayı sağlamak için nullMode değerini connect olarak ayarlar. Orijinal ölçü ifadesi ve etiketi, değiştirici base özelliğinde korunur.
Sekme kapsayıcıları
QV2QS, QlikView sekme kapsayıcılarını, kapsayıcı yapılandırmasına ve bağlamına bağlı olarak üç strateji kullanarak dönüştürür. Tüm durumlarda, alt nesneler kapsayıcıyla aynı Qlik Sense sayfasında kalır.
- Sekmeli kapsayıcı — Diğer nesnelerle çakışmayan bağımsız çok sekmeli kapsayıcılar, yerel Qlik Sense sekmeli kapsayıcılarına dönüştürülür (
sn-tabbed-container). Her sekme üyesi kapsayıcının içinde bir sekme olur. Sekme sırası, orijinal QlikView üye sırasını takip eder. - Sözde sekmeler — Çok sekmeli bir kapsayıcı diğer nesnelerle çakıştığında veya başka bir kapsayıcının içine yerleştirildiğinde, QV2QS sekmeleri bir düzen kapsayıcısına düzleştirir. Bir düğme şeridi, bir
action-buttonher sekme için oluşturulur. Her düğme, birSetVariableeylemi kullanarak bir gezinme değişkeni ayarlar. Alt nesnelerdeki gösterme koşulları (örneğin,=If('$(vCT01Tab)'='1',1,0)) hangi sekme içeriğinin görünür olduğunu kontrol eder. Aynı anda yalnızca bir sekme görünür. Düğme şeridi, orijinal QlikView kapsayıcısının sekme değiştirme davranışını taklit eder. - Düzen kapsayıcı — Kılavuz çizgi modundaki kapsayıcılar, düzen kapsayıcılarına dönüştürülür (
sn-layout-container).
Tek nesneli kapsayıcılar basitleştirilmiştir. Sekme şeridi veya değişken oluşturulmaz. Tek alt nesne, kapsayıcı gösterme koşulu uygulanarak doğrudan kapsayıcı konumuna yerleştirilir.
İç içe kapsayıcılar 8 seviye derinliğe kadar desteklenir. QV2QS döngüleri algılar ve bir kapsayıcı döngüsel referans oluşturursa özyinelemeyi durdurur.
Gösterim koşulları, kapsayıcı üzerinde ve bireysel alt nesneler üzerinde mantıksal VE kullanılarak birleştirilir. Bir alt nesne yalnızca kapsayıcı koşulu, sekme değişkeni koşulu ve alt nesne koşulu tümü doğru olarak değerlendirildiğinde görünürdür.
Koşulları göster
QlikView bireysel nesnelerdeki gösterim koşulları korunur. Qlik Sense, görselleştirme nesnelerinde gösterim koşullarını doğrudan desteklemez. QV2QS, gösterim koşulları olan nesneleri tek çocuklu bir düzen kapsayıcıya sarar ve koşulu kapsayıcıya bir condition girişi olarak uygular. Bir düzen kapsayıcısının içinde zaten bulunan nesneler (çakışma nedeniyle), koşulu doğrudan kapsayıcı girişinde alır.
Bir gösterme koşulu yanlış olarak değerlendirildiğinde, düzen kapsayıcı kılavuz çizgi konumunda kalır ancak içerik görüntülemez. Gizli kapsayıcı daralmaz veya bitişik nesnelerin yeniden akışına neden olmaz. Hem dinamik kılavuz çizgi hem de sabit tuval modlarında, gizli nesne orijinal konumunda boş alan bırakır. Boş alan davranışı, gizli nesnelerin de boş alan bıraktığı QlikView ile eşleşir.
Alternatif durumlar
QV2QS alternatif durum atamalarını korur. QlikView'da alternatif bir duruma bağlı nesneler, Qlik Sense'te de aynı durum bağlamasını korur. Eyalet adları aynen korunur. QV2QS gerekli alternatif durumları Qlik Cloud uygulamasında dağıtım sırasında oluşturur. Küme analizi ifadelerindeki alternatif durum referansları (örneğin, {[State2]<Year={2024}>}) olduğu gibi aktarılır ve Qlik Sense'te değişiklik yapılmadan çalışır.
Yalnızca Yerel modda (--unbuildOnly), alternatif durum adları proje alt klasöründeki cloud/alternate_states.json konumuna yazılır (örneğin, <outputDir>/Sales/cloud/alternate_states.json). Durumlar, çıktı bir Qlik Cloud kiracısına dağıtılırken manuel olarak veya qlik app build aracıyla oluşturulmalıdır.
Nesne eylemleri
QV2QS düğmelerdeki (BU, BT) eylemleri ve metin nesnelerini (TX) dönüştürür. Eylem içeren metin nesneleri, eylem düğmelerine yükseltilir (action-button). Desteklenen eylem türleri arasında gezinme, SetVariable, SelectField ve Dönüşüm sonuçları bölümünde belgelenen diğerleri yer alır.
Diğer nesne türleri (grafikler, liste kutuları, kaydırıcılar ve kapsayıcılar) üzerindeki eylemler dönüştürülmez. QlikView herhangi bir nesne türündeki OnActivate eylemlerini destekler, ancak QV2QS eylemleri yalnızca düğme ve metin nesnesi XML'inden ayrıştırır. Grafiklere, liste kutularına veya diğer düğme dışı nesnelere eklenmiş makro dışı eylemler (SetVariable, SelectField, gezinme), dönüştürme sırasında bırakılır ve dönüştürme raporunda görünmez. Bırakılan eylemleri bulmak için PRJ XML dosyalarında düğme olmayan nesne tanımlarındaki <Actions> öğelerini arayın.
Boşluk tarayıcı, raporlama amacıyla tüm nesne türlerindeki makro çağrılarını algılar. Analiz çalışma sayfasındaki makro çapraz referansları, sadece düğmeleri değil, tüm nesneleri yansıtır. Düğme olmayan nesnelerdeki makro olmayan eylem türleri raporlanmaz.
Hesaplama koşulları
Hesaplama koşulları aşağıdaki görselleştirme türleri için korunur: sütun grafik, kutu grafiği, birleşik grafik, gösterge, çizgi grafik, Mekko grafiği, pasta grafik, dağılım grafiği, ızgara grafik, pivot tablo, tablo, ağaç haritası ve şelale grafik.
Koşul ifadesi ve özel hata mesajı (koşul karşılanmadığında kullanıcılara gösterilen metin) her ikisi de hiperküp tanımına uygulanır. Orijinal QlikView nesnesinde özel bir mesaj yoksa, Qlik Sense varsayılan hesaplama koşulu mesajını görüntüler.
Yukarıdaki listede olmayan görselleştirme türleri (huni grafik, radar grafiği ve KPI dahil) bir hesaplama koşulu almaz. Bir QlikView nesnesinin bir hesaplama koşulu varsa ve hedef görselleştirme türü bu özelliği desteklemiyorsa, hem koşul hem de mesaj sessizce bırakılır.