2016-06-30 29 views
8

kullanılırsa NULL için bir ölçü değeri ayarlama SSAS-2014 küp var. Belli bir boyut, eksende veya excel'de bir pivot tablonun filtre bölmesinde kullanılıyorsa, NULL'a belirli bir ölçü ayarlamak istiyorum. Şimdi, en sezgisel çözüm, bu ölçünün üyeleriyle çalışmamak için bu önlemi kapsamak. Demek, muhasebe dönemi üyeleri ile çalışmak önlemi istemiyoruz, o zaman küp aşağıdaki MDX kullanın: Ben Pivot tablonun filtrede bir yıl seçersenizbelirli bir boyut excel

CREATE MEMBER CURRENTCUBE.[Measures].[Test Measure] AS 1; 

SCOPE([Measures].[Test Measure]); 
SCOPE(DESCENDANTS([DIM Accounting Period].[Accounting Period Hierarchy].[All],,AFTER)); 
THIS = NULL; 
END SCOPE; 
END SCOPE; 

Bu iş gibi görünüyor. Excel bu resimde görüldüğü gibi, filtre bölmesinde iki üye seçerseniz

SELECT NON EMPTY Hierarchize (
{ 
    DrilldownLevel (
    { [DIM Production Period].[Production Month].[All Dates] } 
    , 
    , 
    , INCLUDE_CALC_MEMBERS 
) 
} 
) ON COLUMNS 
FROM [CUBE - Opex Analysis] 
WHERE ([DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2015], 
     [Measures].[Test Measure]) CELL PROPERTIES VALUE 
, FORMAT_STRING 
, LANGUAGE 
, BACK_COLOR 
, FORE_COLOR 
, FONT_FLAGS 

Sorun olur SSAS motora geri aşağıdaki MDX göndermek beri enter image description here

Bu iyi görünüyor enter image description here

Bunun sebebi, excel'in motora geri gönderdiği MDX ile ilgili gibi görünmektedir. Bir alt yılın içindeki öğeleri kapsüllemekte ve motorun hiçbir muhasebe yılı seçilmediğini düşünmesini sağlamaktadır. Ayrıca muhasebe yıllar kullanılıyor yakalamak için çalışırken MEVCUT kullanmaya çalıştı ama aynı sorunu vardı Yani,

SELECT NON EMPTY Hierarchize (
{ 
    DrilldownLevel (
    { [DIM Production Period].[Production Month].[All Dates] } 
    , 
    , 
    , INCLUDE_CALC_MEMBERS 
) 
} 
) ON COLUMNS 
FROM (
SELECT (
{ [DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2015], 
    [DIM Accounting Period].[Accounting Period Hierarchy].[Accounting Year].[2016] }) ON COLUMNS 
FROM [CUBE - Opex Analysis] 
) 
WHERE ([Measures].[Test Measure]) CELL PROPERTIES VALUE 
, FORMAT_STRING 
, LANGUAGE 
, BACK_COLOR 
, FORE_COLOR 
, FONT_FLAGS 

unutmayın: Bu kullanımları excel MDX olduğunu. Bunu düzeltmenin bir yolu var mı? Daha önce benzer bir sorun vardı, ama burada kullanılan çözümünü uygulamadan Ben SDAÖ 2014 Excel kullanarak duyuyorum performans Similar Question için overkill 2013

cevap

2

Hm, ben subcube senaryo için öngörebilir tek çözüm sapmayı dinamik set oluşturmaktır söz konusu sorunun makalesinde açıklanan boyut. Ardından, kapsamınız için başka bir alt kapsam ekleyin ([DIM Hesap Dönemi]. [Hesap Dönemi Hiyerarşisi]. [Tümü]) ve bu kapsamda DESCENDANTS([DIM Accounting Period].[Accounting Period Hierarchy].[All],,AFTER) sayın. Dinamik setin sayısıyla karşılaştırın. Eğer ikisi eşleşirse - alt seçkinin alt küpü değilsin, yoksa öylesin.

+0

Öneriniz için teşekkürler, ancak dinamik setler çözümü, söz konusu sorudaki performansı gerçekten öldürüyor. – BICube

+0

@Ala, Sad ama doğru. SSAS 2016'yı henüz denemedim, 2014'te altkümeleri algılamak için başka bir yol değil, dinamik kümeler var. – Ferdipux