2017-11-22 15 views
5

मैं इस MDX क्वेरी है:Mondrian: की गणना फिल्टर योग

with member [Measures].[count] as '[Measures].[NUMBER]' 
     ** member [Measures].[total] as 'sum({[RECORD_TYPE.VALUES].[All VALUEs].children})' ** 
     member [Measures].[% records] as '([Measures].[count]/[Measures].[total])', format_string = "0.0%" 
    select {[Measures].[count], [Measures].[% records], [Measures].[total]} ON COLUMNS, 
    [RECORD_TYPE.VALUE].[1] ON ROWS 
    from [RECORDS] 
    where Crossjoin({[CITY].[LONDON]}, {([DATE.DATE].[20171101] : [DATE.DATE].[20171130])}) 

मुझे पता चला है कि यह [कुल] सदस्य केवल (20,171,101 और 20,171,130 के बीच रिकॉर्ड डेटा) दिनांक के अनुसार फ़िल्टर रिकॉर्ड गिना जाता है। अगर मैं करने के लिए इस कुल स्विच:

member [Measures].[total] as 'sum({[DATE.DATE].[All DATEs].children})' 

मैं घन में सभी रिकॉर्ड हो रही है, शहर की परवाह किए बिना।

मैं चाहता हूं कि यह कुल [CITY] के लिए रिकॉर्ड्स की कुल संख्या हो। [लंदन] घन में, रिकॉर्ड प्रकार से कोई फर्क नहीं पड़ता। क्या आप कृपया मुझे बता सकते हैं कि मैं यह कैसे करूं?

उत्तर

1

मैं एक Mondrian विशेषज्ञ नहीं हूँ, लेकिन मेरा अनुमान है निम्नलिखित है:

with member [Measures].[count] as '[Measures].[NUMBER]' 
     ** member [Measures].[total] as 'sum({[RECORD_TYPE.VALUES].[All VALUEs].children} * [CITY].[LONDON])' ** 
      member [Measures].[% records] as '([Measures].[count]/[Measures].[total])', format_string = "0.0%" 
     select {[Measures].[count], [Measures].[% records], [Measures].[total]} ON COLUMNS, 
     [RECORD_TYPE.VALUE].[1] ON ROWS 
     from [RECORDS] 
     where Crossjoin({[CITY].[LONDON]}, {([DATE.DATE].[20171101] : [DATE.DATE].[20171130])}) 
+0

अच्छा प्रयास है, लेकिन यह या तो काम नहीं कर रहा। क्या आपका मतलब है [RECORD_TYPE.VALUES] गुणा करें। [सभी VALUE] .children} [CITY] बार। [LONDON] सदस्य? –

+0

ठीक है, मुझे यकीन नहीं है कि मोंड्रियन बोलीभाषा के कारण। –

संबंधित मुद्दे