2016-06-30 8 views
8

में एक विशेष आयाम का उपयोग करने पर NULL को माप मान सेट करना मेरे पास एक SSAS-2014 घन है। यदि एक्सेल में किसी विशेष आयाम का उपयोग किया जा रहा है या एक्सेल में पिवट तालिका के फ़िल्टर फलक का उपयोग किया जाता है तो मैं NULL को एक विशेष उपाय सेट करना चाहता हूं। अब, सबसे सहज समाधान, उस आयाम के सदस्यों के साथ काम न करने के लिए इस उपाय को गुंजाइश करना है। कहो, मैं उपाय लेखांकन अवधि सदस्यों के साथ काम नहीं करना चाहते हैं, तो मैं घन में निम्नलिखित MDX का उपयोग करें:एक्सेल

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; 

यह अगर मैं पिवट तालिका के फिल्टर में एक वर्ष का चयन काम करने के लिए लगता है। enter image description here

यह अच्छा लगता है के बाद से एक्सेल निम्नलिखित MDX वापस SSAS इंजन

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 

समस्या होता है अगर मैं फिल्टर फलक में दो सदस्यों के रूप में इस छवि में दिखाया गया का चयन करें, करने के लिए भेज enter image description here

और इसका कारण एमडीएक्स से संबंधित प्रतीत होता है जो एक्सेल इंजन पर वापस भेजता है। यह एक उपक्यूब के अंदर वस्तुओं को encapsulate बनाता है जिससे इंजन सोचता है कि कोई लेखांकन वर्ष का चयन नहीं किया जा रहा है। ,

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 

कृपया ध्यान दें मैं भी लेखांकन साल इस्तेमाल किया जा रहा कब्जा करने की कोशिश कर मौजूदा का उपयोग करने की कोशिश की, लेकिन मैं एक ही समस्या हो रही थी कि: यह MDX कि का उपयोग करता है उत्कृष्टता प्राप्त है। क्या किसी को इसे ठीक करने का कोई तरीका पता है? मुझे पहले भी इसी तरह की समस्या थी, लेकिन मैंने जिस समाधान का उपयोग किया था, उसे लागू करने के लिए प्रदर्शन Similar Question मैं एसएसएएस 2014 और एक्सेल 2013

उत्तर

2

एचएम का उपयोग कर रहा हूं, एकमात्र समाधान जिसे मैं सबक्यूब परिदृश्य के लिए कल्पना कर सकता हूं, जांच पर गतिशील सेट बनाना है निर्दिष्ट प्रश्न के आलेख में वर्णित आयाम। फिर अपने दायरे के लिए एक और उप-क्षेत्र ([डीआईएम लेखा अवधि] जोड़ें। [लेखांकन अवधि पदानुक्रम]। [सभी]) और इस दायरे में DESCENDANTS([DIM Accounting Period].[Accounting Period Hierarchy].[All],,AFTER) गिनें। गतिशील सेट की गिनती के साथ इसकी तुलना करें। यदि दो मैच करते हैं - आप उप-चयन से उपक्यूब के अंदर नहीं हैं, अन्यथा आप हैं।

+0

आपके सुझाव के लिए धन्यवाद लेकिन गतिशील सेट समाधान वास्तव में प्रदर्शन को मार रहा है जैसा कि मैंने प्रश्न में उल्लेख किया है। – BICube

+0

@Ala, दुखद लेकिन सच। अभी तक एसएसएएस 2016 की कोशिश नहीं की है, 2014 में उपनुब्बियों का पता लगाने के लिए गतिशील सेट नहीं है। – Ferdipux