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

CalcDim - grafik fonksiyonu

CalcDim() bir dimension ifadesinde kullanıldığında motorun ifadeyi dahili olarak yönetme şekliyle ilgili otomatik yorumunu geçersiz kılar. Özellikle bu fonksiyon, veri modelinde yeni bir dahili alanın oluşturulmasını engeller. Bunun yerine, uygulamada yapılan seçimler, orijinal veri modelinden geçerli alanlardaki seçimler olarak ele alınır.

Bu işlev, komut dosyası içinde kullanılamaz. Ek olarak, sistem performansı için en iyi uygulama, hesaplanan boyutta kullanılan alanları mümkün olduğunda komut dosyası aracılığıyla mantıksal alanlar olarak yüklemektir. CalcDim() , hesaplanan alanın komut dosyasından yüklenmesinin mümkün olmadığı senaryolarda motor davranışını kontrol etmenin bir yolunu sunar.

Qlik Sense içinde, boyut ifadesi varsayılan olarak anında oluşturulan bir alan olarak gerçekleştirilir; yani, mevcut seçim çubuğunda görünen, isteğe bağlı olarak oluşturulan gerçek bir alan olarak. Seçimler, komut dosyasından gelen herhangi bir mantıksal alana benzer şekilde bu alana uygulanır ve çıkarılır.

CalcDim() içine sarılmış bir ifade, QlikView içinde tüm hesaplanan boyut ifadelerinin çalıştığı gibi davranacaktır; bu da hesaplanan değerlerin temel kaynak alan değerlerine geçici bir eşlemesidir. Tüm anında alan hesaplamaları, CalcDim() işlevi kullanılarak hesaplanan boyutlara aktarılabilir, çünkü hesaplanan boyut, veri modeline dayalı olarak ilgili anında alan hesaplamasından daha az gereksinimi karşılamak zorundadır. Bu dönüşüm, veri modelinin bazı durumlarda anında alan hesaplamasının kullanımını engelleyebileceği, ancak diğerlerinde engellemeyebileceği tüm hesaplanan boyutlar için benzer bir davranışı garanti etmek amacıyla arzu edilebilir olabilir.

Söz Dizimi:  

CalcDim(expr)

Dönüş verileri türü: dual

Bağımsız Değişkenler
Bağımsız Değişken Açıklama
expr

Boyut olarak kullanılan bir ifade veya bir boyut ifadesi içinde bir segment olarak.

CalcDim ne zaman kullanılmalı?

CalcDim(), Qlik motorunun bir boyut ifadesinde çağırdığınız alanları nasıl işlediği üzerinde daha fazla kontrole ihtiyacınız olduğunda kullanışlıdır.

Varsayılan olarak, özel bir boyut ifadesi kullandığınızda Qlik Sense, veri modelinde dahili alanlar oluşturup oluşturmayacağına ve bunlara başvurup başvurmayacağına otomatik olarak karar verir. Qlik Sense mümkün olduğunda bu dahili alanları oluşturur ve kullanır. Mümkün olmadığında, ifade dayandığı mevcut veri modeli alanları referans alınarak ele alınır.

Kullanım durumunuza bağlı olarak, bu otomatik işleme her zaman istenmeyebilir. Örneğin, bir boyut ifadesinde bir değişken kullanıyorsanız, yeni alanların otomatik olarak oluşturulması sorunlu hale gelebilir. Bu durumda, ifadenin bu yöntem olmadan işlenmesini zorlamak için CalcDim() kullanın.

İşte bazı yaygın kullanım durumları:

  • QlikView içeriğini Qlik Sense içine taşıdınız ve hesaplanan boyutlar için QlikView işleme yöntemini korumak istiyorsunuz.

  • Uygulamanızdaki seçim davranışını basitleştirmek istiyorsunuz. Örneğin, alan seçimlerini yeni alanlardaki seçimler yerine, orijinal veri modelindeki alanlardaki seçimler olarak göstermeyi tercih ediyorsunuz.

  • Kullanım durumunuz tutarlılık ve performans için geçici bir ifade gerektiriyor. Örneğin, boyut ifadeniz, kontrol edilebilir biçimlendirme, kesme değerleri veya dönemler gibi kullanıcı tarafından kontrol edilebilir dinamik görselleştirme parametreleri içeriyorsa.

Fonksiyon örnekleri
Örnek Sonuç
=CalcDim(if(Year < 2023, 'Older', Year))

Bu boyutu kullanan bir görselleştirmede seçim yapmak, veri modelinden ilgili Year alan değerinde bir seçim olarak işlenecek ve görüntülenecektir.

Tersine, ifadeyi CalcDim() içine almadığınızı varsayalım. Bu durumda şöyle görünür:

=if(Year < 2023, 'Older', Year)

Yukarıdaki ifadede bir seçim yapmak, veri modelinde olmayan dahili alan =if(Year < 2023, 'Older', Year) içinde bir seçim olarak işlenir ve görüntülenir.

Örnek 1 – Basit karşılaştırma

Örnek 2 – Varsayılan davranışı değiştirmek için pratik kullanım durumu

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!