Boş değerleri ile çalışma
Boş bir değer, belirli bir üye, tanımlama grubu ve hücrenin boş olup olmadığını gösterir.Bir boş hücre değeri ya da verileri belirten belirtilen hücre içinde alttaki bulunamıyor için olgu tablosu, ya da belirtilen hücrenin tanımlama grubu küp için uygun olmayan üyelerinin birleşimini temsil eder.
Not
Boş bir değer sıfır değeri farklı olsa da, boş bir değer genellikle sıfır çoğu saat kabul edilir.
Aşağıdaki sorgu davranışını boş ve sıfır değerlerini göstermektedir:
WITH
//A calculated Product Category that always returns 0
MEMBER [Product].[Category].[All Products].ReturnZero AS 0
//Will return true for any null value
MEMBER MEASURES.ISEMPTYDemo AS ISEMPTY([Measures].[Internet Tax Amount])
//Will true for any null or zero value
//To be clear: the expression 0=null always returns true in MDX
MEMBER MEASURES.IsZero AS [Measures].[Internet Tax Amount]=0
SELECT
{[Measures].[Internet Tax Amount],MEASURES.ISEMPTYDemo,MEASURES.IsZero}
ON COLUMNS,
[Product].[Category].[Category].ALLMEMBERS
ON ROWS
FROM [Adventure Works]
WHERE([Date].[Calendar].[Calendar Year].&[2001])
Aşağıdaki bilgiler, boş değerler için geçerlidir:
The IsEmpty işlev returns TRUE if and only if the hücre identified by the tanımlama grubu specified in the işlev is empty. Aksi halde işlevini verir. FALSE.
Not
The IsEmpty işlev cannot determine whether a member ifade returns a null value. Gelen üye null döndürdü olup olmadığını belirlemek için bir ifade, kullanın OLANişleç.
Boş hücre değeri sayısal işleçlerin herhangi biri için bir işlenen olduğunda (+,-, *, /), diğer işlenen boş olmayan bir değerse, boş hücre değeri sıfır olarak değerlendirilir.Her iki işlenen boş ise, sayısal işleç, boş hücre değeri döndürür.
Boş hücre değeri dize birleştirme işleç (+) işleç, diğer işlenen boş olmayan bir değer ise, boş hücre değeri boş dize kabul edilir.Dize birleştirme işleç, iki işlenen boşsa, boş hücre değeri döndürür.
Boş hücre değeri (=. karşılaştırma işleçlerinden biri için bir işlenen olduğunda<>, >=, <=, >, <), boş hücre değeri sıfır ya da diğer işlenen veri türü sayısal veya dize, sırasıyla olmasına bağlı olarak boş bir dize olarak kabul edilir. Her iki işlenen boş ise, her iki işlenen sıfır olarak kabul edilir.
Sayısal değerler harmanlama, boş hücre değeri sıfır olarak aynı yerde harmanlar.Boş, boş hücre değeri arasında sıfır, sıfır önce harmanlar.
Dize değerlerini harmanlama, boş hücre değeri boş dize olarak aynı yerde harmanlar.Boş, boş hücre değeri arasında boş bir dize, önce boş bir dize harmanlar.
Boş değerleri MDX deyimleri ve küpleri postalarla
Çok boyutlu deyimler (MDX) deyimlerinde boş değerleri aramak ve sonra belirli geçerli içeren hücrelerin üzerinde hesaplamalar (yani, değilse boş) veri.Boş değerleri, hesaplamaları yapan önemli olabilir, ortalama gibi belirli hesaplamaları, boş hücre değerleri dahil, yanlış olduğundan, gereksiz.
Boş değerleri temel olgu tablo verilerinizi depolanıyorsa, küp işlendiğinde varsayılan olarak bunlar sıfıra dönüştürülür.Kullanabileceğiniz Boş bir işleme seçeneğini denetlemek için bir ölçü null gerçekleri 0, dönüştürülen için boş bir değeri veya bile bu hata işleme sırasında atar.Boş hücre değerleri, sorgunuzda görünen istemiyorsanız sonuçlar, sorguları, hesaplanan üyeler veya boş değerleri kaldırın veya başka bir değerle, onların yerini MDX kod deyimleri oluşturmanız gerekir.
Boş satır veya sütunları bir sorgudan kaldırmak için , eksen önce NON EMPTY deyimi kullanabilirsiniz küme tanımı.Örneğin, takvim yılı 2001'de satılan yalnızca kategori, çünkü aşağıdaki sorguyu yalnızca ürün kategori Bisikletleri döndürür:
SELECT
{[Measures].[Internet Tax Amount]}
ON COLUMNS,
//Comment out the following line to display all the empty rows for other Categories
NON EMPTY
[Product].[Category].[Category].MEMBERS
ON ROWS
FROM [Adventure Works]
WHERE([Date].[Calendar].[Calendar Year].&[2001])
Daha genel tanımıyla gelen boş dizilerini kaldırmak için bir küme boş olmayan bir işlev kullanabilirsiniz.Biri Ürün kategori sayısını sayar ve Ürün [ınternet vergi tutarı] ölçü için bir değer olan kategoriler ve takvim yılı 2001 ikinci gösterir, aşağıdaki sorguyu iki hesaplanmış ölçüler gösterir:
WITH
MEMBER MEASURES.CategoryCount AS
COUNT([Product].[Category].[Category].MEMBERS)
MEMBER MEASURES.NonEmptyCategoryCountFor2001 AS
COUNT(
NONEMPTY(
[Product].[Category].[Category].MEMBERS
,([Date].[Calendar].[Calendar Year].&[2001], [Measures].[Internet Tax Amount])
))
SELECT
{MEASURES.CategoryCount,MEASURES.NonEmptyCategoryCountFor2001 }
ON COLUMNS
FROM [Adventure Works]
Daha fazla bilgi için bkz: NonEmpty (MDX).
Boş değerler ve karşılaştırma işleçleri
Veriler, mantıksal boş değerleri varsa ve karşılaştırma işleçleri zararlı olabilir, üçüncü EMPTY yerine, yalnızca TRUE veya FALSE sonucunu döndürür.Bu üç değerli mantığına gereksinim, birçok uygulama hataları kaynağıdır.Bu tablolar, boş değer karşılaştırmaları tanıtma etkisini özetlemektedir.
Bu tabloda sonuçlar bir AND işleç için iki Boole işlenen uygulama.
AND |
TRUE |
BOŞ |
FALSE |
---|---|---|---|
TRUE |
TRUE |
FALSE |
FALSE |
EMPTY |
FALSE |
BOŞ |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
Bu tablo için iki Boole işlenen VEYA işleciyle uygulama sonuçlarını gösterir.
OR |
TRUE |
FALSE |
---|---|---|
TRUE |
TRUE |
TRUE |
EMPTY |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
Bu tablo, nasıl NOT işleç olumsuzlar veya tersine çevirir, bir Boole işleç sonucunu gösterir.
Boolean ifade NOT işleç uygulandığı için |
Veren |
---|---|
TRUE |
FALSE |
BOŞ |
BOŞ |
FALSE |
TRUE |
See Also