2013-01-10 52 views
7

के साथ एमडीएक्स तिथि सीमा क्वेरी मुझे तिथि से फ़िल्टर किए गए मोंड्रियन के लिए एक एमडीएक्स क्वेरी चाहिए, जहां एक या दोनों सीमा तिथियां मौजूद नहीं हो सकती हैं। मैं नीचे दी गई क्वेरी का उपयोग कर रहा हूं जो तब तक काम करता है जब तक कि 2013-01-01 और 2013-01-08 दोनों आयाम मौजूद हैं। यदि दो तिथियों में से एक मौजूद नहीं है तो यह कोई परिणाम नहीं देता है, भले ही बीच में आयाम मौजूद हों। लापता सीमा दिनांक आयाम के मामले में भी यह प्रश्न मुझे काम करने के लिए कैसे मिलेगा?एक लापता सीमा दिनांक

SELECT 
NON EMPTY {Hierarchize({[Measures].[Number of Something]})} ON COLUMNS, 
NON EMPTY {[Date].[2013-01-01]:[Date].[2013-01-08]} ON ROWS 
FROM [Users] 
+0

अपने आयाम पतित या एक अलग तालिका है? यह एक अलग तालिका तो अगर आम तौर पर यह पहले से भरी हुई हैं, इसलिए आप सुनिश्चित कर सकते हैं कि सभी आयाम मौजूद हैं .. (यहां तक ​​कि यदि कोई संबंधित तथ्य नहीं है)। दिनांक आयाम उत्पन्न करने के लिए नमूने फ़ोल्डर में एक पीडीआई केटल परिवर्तन है। – Codek

उत्तर

1

एमडीएक्स इस धारणा के साथ बनाया गया है कि आपके द्वारा संदर्भित प्रत्येक सदस्य मौजूद है; यह सुनिश्चित करने के लिए सबसे अच्छा है कि सभी कल्पनीय दिनांक आयाम सदस्यों इन मानों के साथ अलग-अलग तालिका के साथ एक अलग तालिका रखते हुए मौजूद हैं।

आप मुश्किल हो सकते हैं और उस तालिका को संग्रहीत प्रक्रिया के रूप में कार्यान्वित कर सकते हैं लेकिन तारीख आयाम चीजों की भव्य योजना में बहुत अधिक जगह नहीं लेते हैं, इसलिए आप शायद ही कभी ऐसा करेंगे।

मुझे आपकी समस्या का समाधान करने के किसी अन्य तरीके से नहीं पता है।

0

खत्म करने के लिए यहां तक ​​कि मैं अभी तक इस तर्क को लागू करने के कारण समझ में नहीं आता है की कोशिश, आप जोड़कर इस छुपा सकते हैं। यदि आप मोंड्रियन में कस्टम सदस्य जोड़ते हैं तो इसे आजमाएं।

/* Exclude Missing Member */ 
Create Set CurrentCube.[MissingMemberSet] As 
iif(IsError(StrToMember("[Dimension].[Hierarchy].&[MEMBER]")), 
{}, {[Dimension].[Hierarchy].&[MEMBER]}); 

Create Member CurrentCube.Measures.[Calculation on Missing Member] 
AS 
IIF ([MissingMemberSet].Count > 0, 
([Dimension].[Hierarchy].&[MEMBER],Measures.[X Measure]), 
0 
) 
, 
FORMAT_STRING = "Currency", 
LANGUAGE = 1033, 
NON_EMPTY_BEHAVIOR = { [X Measure] }, 
VISIBLE = 1 , DISPLAY_FOLDER = 'Display Folder' ; 

इसके अलावा, आप IIF (ISERROR या IIF का उपयोग करने में लागू कर सकते हैं (MDX कार्यों मौजूद है।