Aracılığıyla paylaş


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