Aracılığıyla paylaş


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