Boş değerleri ile çalışma
Boş bir değer belirten özel bir üye tanımlama grubu, veya hücre boş.Boş hücre değeri ya da verileri gösterir belirtilen hücrenin temel aslında bulunamadı tablo, ya da belirtilen hücre için tanımlama grubu küp için uygun olmayan üyeleri 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, boş ve sıfır değerleri davranışını gösterilmektedir:
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])
Boş değerler için aşağıdaki bilgiler geçerlidir:
The IsEmpty function returns TRUE if and only if the cell identified by the tuple specified in the function is empty.Aksi durumda, işlev döndürür FALSE.
Not
The IsEmpty function cannot determine whether a member expression returns a null value.Null üye bir ifade tarafından döndürülen olup olmadığını belirlemek için Isişleç.
Sayısal işleçlerin herhangi biri için bir işlenen olduğunda boş hücre değeri (+, -, *, /), diğer işlenen boş olmayan bir değeri ise boş hücre değeri sıfır olarak kabul edilir.Her iki işlenen boş olursa sayısal işleç boş hücre değeri döndürür.
Boş hücre değeri dizesi için bir işlenen olduğunda birleştirme (+) işleç bir işlenen boş olmayan bir değeri ise boş hücre değeri boş bir dize kabul edilir.Her iki işlenen boş olursa Dize bitiştirme işleç boş hücre değeri döndürür.
Boş hücre değeri (=. karşılaştırma işleçlerinden herhangi biri için bir işlenen olduğunda<>, >=, <=, >, <), the empty cell value is treated as zero or an empty string, depending on whether the data type of the other operand is numeric or string, respectively.Her iki işlenen de boş olursa, her iki işlenenleri sıfır olarak kabul edilir.
Harmanlama sayısal değerler olduğunda, boş hücre değeri sıfır olarak aynı yerde harmanlar.Boş hücre değeri arasında sıfır, sıfır önce boş harmanlar.
Harmanlama dize değerlerini, boş hücre değeri boş dize ile aynı yerde harmanlar.Boş hücre değeri arasında boş dize, önce boş bir dize boş harmanlar.
Boş değerler mdx deyimleri ve küpleri postalarla
Çok boyutlu ifadeleri (mdx) deyimleri aramak için boş değerler ve sonra bazı geçerli içeren hücreleri üzerinde hesaplamalar (yani, boş olmayan) veri.Hesaplamaları yapan önemli olabilir, ortalama gibi bazı hesaplamalar boş hücre değerleri varsa yanlış olduğundan, boş değerlere ortadan kaldırarak.
Boş değerleri temel sizin aslında depolanmışsa, tablo bunlar dönüştürülemeyen sıfıra küp işlendiğinde varsayılan olarak veri.Kullanabileceğiniz Null işleme denetlemek için bir ölçü birimi seçeneği boş gerçekleri 0 dönüştürülür olup olmadığını dönüştürülen boş bir değer veya hatta atar hata işleme sırasında.Boş hücre değerlerini sorgunuzda görünmesini istemiyorsanız, sonuçlar, sorguları, hesaplanan üyeler veya boş değerleri ortadan kaldırmak veya bunları başka herhangi bir değerle değiştirme mdx komut dosyası deyimlerini oluşturmanız gerekir.
Boş satırlar veya sütunlar bir sorgudan kaldırmak için boş olmayan kullanabilirsiniz deyim önce eksen tanımı.Örneğin, takvim yılı 2001'de satılan tek Kategori olduğu için aşağıdaki sorgu 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 işlevini kullanabilirsiniz.Aşağıdaki sorguyu iki hesaplanmış ölçüler biri ürün kategorileri sayar ve ikinci, değer [Internet vergi tutarı] ölçü için ürün kategorileri ve takvim yılı 2001 sayısını gösterir 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
Boş değerler verilerde, mantıksal var olduğu ve potansiyel karşılaştırma işleçleri, üçüncü sonucu true veya false yerine boş döndürür.Bu üç değerli mantık gereksinimi olan bir kaynak pek çok uygulama hataları.Bu tablolar, boş değer karşılaştırmaları Tanıtımı etkisini anahat.
Bu tablo gösterir sonuçlar için iki Boole işlenen ve işleç uygulama.
AND |
TRUE |
BOŞ |
FALSE |
---|---|---|---|
TRUE |
TRUE |
FALSE |
FALSE |
EMPTY |
FALSE |
BOŞ |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
Bu tablo gösterir sonuçlar veya işleç için iki Boole işlenen uygulama.
OR |
TRUE |
FALSE |
---|---|---|
TRUE |
TRUE |
TRUE |
EMPTY |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
Bu tablo nasıl not işleç olumsuzlar veya tersine çevirir, Boole işleç sonucunu gösterir.
Boole deyim değil işleç uygulanır |
Değerlendiren |
---|---|
TRUE |
FALSE |
BOŞ |
BOŞ |
FALSE |
TRUE |
Ayrıca bkz.