मुझे इसी तरह की समस्या का सामना करना पड़ा है, और इसे इस प्रकार हल किया है:
एसएसएएस वास्तव में आपको नहीं बता सकता कि आप किस पदानुक्रम पर हैं, इसलिए आप इसे अपने उदाहरण की तरह नहीं कर सकते। हालाँकि, निम्नलिखित ने मेरे लिए काम किया। मैंने इसे आपके नामकरण के लिए पुन:कार्य करने का प्रयास किया है, इसलिए स्पष्ट वाक्यविन्यास त्रुटियों की जांच करें...
यह सब आपकी घन गणना स्क्रिप्ट में जाता है, आपको 'ब्लॉक व्यू' के बजाय 'स्क्रिप्ट व्यू' का उपयोग करने की आवश्यकता हो सकती है।
CREATE MEMBER CURRENTCUBE.[Measures].[Commitment Total] AS NULL;
फिर इसे बाद में प्रत्येक पदानुक्रम के लिए स्क्रिप्ट में परिभाषित करें:
SCOPE (DESCENDANTS([Date Dim].[FY Hierarchy],,AFTER));
[Measures].[Commitment Total] =
sum(
[Date Dim].[FY Hierarchy].[Fiscal Year].members(0):[Date Dim].[FY Hierarchy].currentMember
, [Measures].[Commitment Count]);
END SCOPE;
SCOPE (DESCENDANTS([Date Dim].[CY Hierarchy],,AFTER));
[Measures].[Commitment Total] =
sum(
[Date Dim].[CY Hierarchy].[Calendar Year].members(0):[Date Dim].[CY Hierarchy].currentMember
, [Measures].[Commitment Count]);
END SCOPE;
अब यह तदनुसार व्यवहार करेगा, क्वेरी में मौजूद पदानुक्रम पर निर्भर करता है। ध्यान दें कि यदि कोई पदानुक्रम क्वेरी में नहीं है तो यह NULL होगा।