Isnull
isnull, bir değerin null olup olmadığını kontrol eder; bu, bir şey eksik veya bilinmediğinde bir veritabanı tarafından kullanılan özel bir yer tutucudur.
Sözdizimi
isnull(text column)
isnull ifadesini özel filtrelerde veya koşullu toplama işlemleri CountIf ve SumIf için koşul olarak kullanabilirsiniz. isnull kullanarak özel bir sütun oluşturmak için, isnull ifadesini boolean değerleri kabul eden başka bir işlevle birleştirmeniz gerekir, örneğin case.
Patrona'nın null değerleri nasıl ele aldığı
Patrona tablolarında, null değerler boş hücreler olarak görüntülenir. Ayrıca, string sütunlar için, boş stringler ve yalnızca boşluk karakterleri içeren stringler de boş olarak görüntülenir.
Aşağıdaki tablo, isnull ifadesinin çıktısının örneklerini gösterir.
| Patrona gösterir | Veritabanı değeri | isnull(value) |
|---|---|---|
null | true | |
"" (boş string) | false* | |
" " (boşluk) | false | |
| kedi | "kedi" | false |
*Oracle ve Vertica veritabanlarında, boş stringler null olarak kabul edilir.
Boolean özel sütun oluşturma
isnull kullanarak özel bir sütun oluşturmak için, isnull ifadesini başka bir işlevle birleştirmeniz gerekir.
Örneğin, İndirim sütununun null olduğu durumlarda true, aksi takdirde false içeren bir özel sütun oluşturmak istiyorsanız, case ifadesini kullanabilirsiniz:
case(isnull([İndirim]), true, false)
Null değerleri başka bir değerle değiştirme
Eksik bilgileri daha açıklayıcı bir şeyle değiştirmek için isnull ifadesini case ifadesi ile birleştirin:
Örneğin, orijinal [Geri Bildirim] sütunu null olduğunda "Bilinmeyen geri bildirim" içeren ve [Geri Bildirim] sütununun bir değeri olduğunda gerçek geri bildirim değerini içeren yeni bir özel sütun oluşturabilirsiniz. Bunu yapmak için özel ifade:
case(isnull([Geri Bildirim]), "Bilinmeyen geri bildirim.", [Geri Bildirim])
| Geri Bildirim | case(isnull([Geri Bildirim]), "Bilinmeyen geri bildirim.", [Geri Bildirim]) |
|---|---|
null | "Bilinmeyen geri bildirim." |
"" | "" |
"Tarzınızı beğendim." | "Tarzınızı beğendim." |
Kabul edilen veri türleri
| Veri türü | isnull ile çalışır |
|---|---|
| String | ✅ |
| Number | ✅ |
| Timestamp | ✅ |
| Boolean | ✅ |
| JSON | ✅ |
Sınırlamalar
- Patrona'da,
isnullifadesini boolean argümanları kabul eden başka bir ifadeyle birleştirmeniz gerekir (örneğin,trueveyafalse). isnullifadesi aynı anda yalnızca bir değeri kabul eder. Birden fazla sütundaki boş hücrelerle başa çıkmanız gerekiyorsa, coalesce ifadesine bakın.isnullifadesi boş hücrelerinize herhangi bir şey yapmıyor gibi görünüyorsa, boş stringleriniz olabilir. Bunun yerineisemptyifadesini deneyin.
İlgili işlevler
Bu bölüm, Patrona isnull ifadesiyle değiştirilebilir şekilde kullanılabilecek işlevleri ve formülleri kapsar ve kullanım durumunuza en uygun seçeneği nasıl seçeceğinize dair notlar içerir.
Aşağıdaki tüm örnekler, Null değerleri başka bir değerle değiştirme örneğindeki tabloyu kullanır:
| Geri Bildirim | case(isnull([Geri Bildirim]), "Bilinmeyen geri bildirim.", [Geri Bildirim]) |
|---|---|
null | "Bilinmeyen geri bildirim." |
"" | "" |
"Tarzınızı beğendim." | "Tarzınızı beğendim." |
SQL
Çoğu durumda (NoSQL veritabanı kullanmıyorsanız), sorgu oluşturucudan oluşturulan sorular, veritabanınıza veya veri ambarınıza karşı çalışan SQL sorgularına dönüştürülür.
CASE WHEN Geri Bildirim IS NULL THEN "Bilinmeyen geri bildirim",
ELSE Geri Bildirim END
Patrona isnull ifadesine eşdeğerdir:
case(isnull([Geri Bildirim]), "Bilinmeyen geri bildirim.", [Geri Bildirim])
Elektronik Tablolar
Elektronik tablo #N/A'ları, veritabanı nulllarının (bilinmeyen veya eksik bilgi için yer tutucular) eşdeğeridir.
Örnek geri bildirim sütunumuzun bir elektronik tabloda "Geri Bildirim" sütununda olduğunu varsayarsak, formül
=IF(ISNA(A2), "Bilinmeyen geri bildirim.", A2)
Patrona isnull ifadesine eşdeğerdir:
case(isnull([Geri Bildirim]), "Bilinmeyen geri bildirim.", [Geri Bildirim])
Python
Numpy ve pandas NaN veya NA kullanır, null yerine.
Örnek geri bildirim sütunumuzun df["Geri Bildirim"] adlı bir veri çerçevesi sütununda olduğunu varsayarsak:
df["Özel Sütun"] = np.where(df["Geri Bildirim"].isnull(), "Bilinmeyen geri bildirim.", df["Geri Bildirim"])
Patrona isnull ifadesine eşdeğerdir:
case(isnull([Geri Bildirim]), "Bilinmeyen geri bildirim.", [Geri Bildirim])