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

NULL değeri işleme

Bir veritabanı sorgusunun ve/veya tablolar arası birleştirmenin sonucu olarak belirli bir alan için herhangi bir veri üretilemediğinde sonuç normal olarak NULL değerdir.

Genel Bakış

Qlik Sense mantığı aşağıdakileri gerçek NULL değerler olarak işler:

  • Bir ODBC bağlantısından getirilen NULL değerleri.

  • Veri komut dosyasında tabloların zorunlu birleşiminin sonucu olarak oluşturulan NULL değerler.

  • Veri kod dosyasında yapılan birleştirmenin sonucu olarak oluşturulan NULL değerler

  • Bir tabloda görüntülenecek alan değeri birleşimlerinin üretilmesinin sonucu olarak oluşturulan NULL değerler

Bilgi notuNullAsValue deyiminin kullanıldığı durumlar dışında, bu NULL değerleri ilişkilendirmeler ve seçimler için kullanmak genellikle mümkün değildir.

NullAsValue hakkında daha fazla bilgi için bkz. NullAsValue.

Metin dosyaları tanım gereği NULL değerler içeremez.

ODBC'den NULL değerleri ilişkilendirme/seçme

Bir ODBC veri kaynağından NULL değerler ilişkilendirilebilir ve/veya seçilebilir. Bu amaçla bir kod değişkeni tanımlanmıştır. Aşağıdaki söz dizimi kullanılabilir:

SET NULLDISPLAY=<sym>;

<sym> sembolü, en düşük veri girişi düzeyinde ODBC veri kaynağından tüm NULL değerlerin yerini alır. <sym> herhangi bir dizge olabilir.

Bu fonksiyonu varsayılan yorumlamaya sıfırlamak için şu söz dizimini kullanın:

SET NULLDISPLAY=;

Bilgi notuNULLDISPLAY öğesinin kullanımı yalnızca ODBC veri kaynağından gelen verileri etkiler.

Qlik Sense mantığının bir ODBC bağlantısından döndürülen NULL değerleri boş bir dize olarak yorumlamasını istiyorsanız, aşağıdaki öğeyi kodunuzda herhangi bir SELECT deyimi öncesine ekleyin:

SET NULLDISPLAY=";

Bilgi notuBurada '' işareti arasında/içinde herhangi bir öğe olmayan iki adet tek tırnak işaretidir.

NullDisplay hakkında daha fazla bilgi için bkz. NullDisplay .

Metin dosyalarından NULL değerler oluşturma

Metin dosyasında veya inline cümlesinde geçtiğinde gerçek bir NULL değer olarak yorumlanacak bir sembol tanımlanabilir. Şu deyimi kullanın:

SET NULLINTERPRET=<sym>;

<sym> sembolü NULL olarak yorumlanmalıdır. <sym> herhangi bir dizge olabilir.

Bu fonksiyonu varsayılan yorumlamaya sıfırlamak için şunu kullanın:

SET NULLINTERPRET=;

Bilgi notu NULLINTERPRET öğesinin kullanımı yalnızca metin dosyalarından ve satır içi cümlelerinden gelen verileri etkiler!

NullInterpret hakkında daha fazla bilgi için bkz. NullInterpret .

NULL değerlerin ifadelerde yayılması

NULL değerler, birkaç mantıksal ve oldukça makul kurala göre ifade içinde yayılır.

Fonksiyonlar

Genel kural şudur: Parametreler fonksiyonun tanımlandığı aralığın dışına çıktığında fonksiyonlar NULL değer döndürür.

Örnekler
İfade Sonuç
asin(2) şunu döndürür: NULL
log(-5) şunu döndürür: NULL
round(A,0) şunu döndürür: NULL

Yukarıdakinin bir sonucu olarak, değerlendirme için gerekli olan parametrelerden herhangi birinin NULL olması durumunda fonksiyonlar genellikle NULL sonucunu döndürür.

Örnekler
İfade Sonuç
sin(NULL) şunu döndürür: NULL
chr(NULL) şunu döndürür: NULL
if(NULL, A, B) şunu döndürür: B
if(True, NULL, A) şunu döndürür: NULL
if(True, A, NULL) şunu döndürür: A

İkinci kuralın istisnası, türü test eden mantıksal fonksiyonlardır.

Örnekler
İfade Sonuç
isnull(NULL) şunu döndürür: True (-1)
isnum(NULL) şunu döndürür: False (0)

Aritmetik ve dize işleçleri

Bu işleçlerin herhangi bir tarafında NULL ile karşılaşılırsa NULL sonucu döndürülür.

Örnekler
İfade Sonuç
A + NULL şunu döndürür: NULL
A - NULL şunu döndürür: NULL
A / NULL şunu döndürür: NULL
A * NULL şunu döndürür: NULL
NULL / A şunu döndürür: NULL
0 / NULL şunu döndürür: NULL
0 * NULL şunu döndürür: NULL
A & NULL A döndürür

İlişkisel işleçler

İlişkisel işleçlerin herhangi bir tarafında NULL ile karşılaşılırsa özel kurallar geçerlidir.

Örnekler
İfade Sonuç
NULL (herhangi bir ilişkisel işleç) NULL şunu döndürür: NULL
A <> NULL şunu döndürür: True (-1)
A < NULL şunu döndürür: False (0)
A <= NULL şunu döndürür: False (0)
A = NULL şunu döndürür: False (0)
A >= NULL şunu döndürür: False (0)
A > NULL şunu döndürür: False (0)

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, bize bildirin, düzeltelim!