मैं एक गणना माप बनाना चाहता हूं जो आयाम विशेषता के आधार पर मेरी तथ्य तालिका में केवल रिकॉर्ड का एक विशिष्ट सबसेट सेट करता है।मैं आयाम विशेषता के आधार पर एमडीएक्स में एक गणना किए गए उपाय को कैसे परिभाषित करूं?
को देखते हुए:
आयाम
- दिनांक
- LedgerLineItem {प्रभारी, भुगतान, राइट-ऑफ, copay, क्रेडिट}
उपाय
- LedgerAmount
रिश्ते
* LedgerLineItem FactLedger
अगर मैं LedgerLineItem.Type द्वारा LedgerAmount टूट मैं आसानी से,,, देख सकते हैं, कितना शुल्क लिया भुगतान किया जाता है क्रेडिट आदि नहीं बल्कि जब मैं करता हूँ LedgerLineItem द्वारा इसे तोड़ दो। टाइप करें मैं आसानी से क्रेडिट, भुगतान, क्रेडिट, आदि को एक पिवट तालिका में नहीं जोड़ सकता। मैं अलग-अलग गणना उपायों को बनाना चाहता हूं जो केवल प्रमुख प्रकार (या एकाधिक प्रकार) के आधारभूत तथ्यों को जोड़ते हैं।
वांछित आउटपुट का एक उदाहरण होगा:
| Year | Charged | Total Paid | Amount - Ledger |
| 2008 | $1000 | $600 | -$400 |
| 2009 | $2000 | $1500 | -$500 |
| Total | $3000 | $2100 | -$900 |
मैं गणना उपाय कई तरीकों से बनाने की कोशिश की है और हर एक कुछ परिस्थितियों में, लेकिन दूसरों में नहीं काम करता है। अब ईटीएल में ऐसा करने से पहले, मैंने इसे पहले से ही ईटीएल में किया है और यह ठीक काम करता है। एमडीएक्स को समझने के लिए सीखने के हिस्से के रूप में मैं क्या करने की कोशिश कर रहा हूं, यह पता लगाने के लिए है कि मैंने एमडीएक्स में ईटीएल में जो किया है उसे डुप्लिकेट करना है, अब तक मैं ऐसा करने में असमर्थ हूं।
यहां मेरे द्वारा किए गए दो प्रयास और उनके साथ समस्याएं हैं। यह केवल तब काम करता है जब लेजर प्रकार पिवोट तालिका में होता है। यह खाता बही प्रविष्टियों की सही मात्रा देता है (हालांकि इस मामले में यह के समान है [राशि - खाता बही] लेकिन जब मैं प्रकार दूर करने के लिए और बस सभी खाता बही प्रविष्टियों यह अज्ञात रिटर्न की राशि पाने की कोशिश
CREATE MEMBER CURRENTCUBE.[Measures].[Received Payment]
AS CASE WHEN ([Ledger].[Type].currentMember = [Ledger].[Type].&[Credit])
OR ([Ledger].[Type].currentMember = [Ledger].[Type].&[Paid])
OR ([Ledger].[Type].currentMember = [Ledger].[Type].&[Held Money: Copay])
THEN [Measures].[Amount - ledger]
ELSE 0
END
, FORMAT_STRING = "Currency"
, VISIBLE = 1
, ASSOCIATED_MEASURE_GROUP = 'Ledger' ;
। यह केवल तभी काम करता है जब लीडर प्रकार पिवोट टेबल में नहीं होता है। यह हमेशा कुल भुगतान राशि देता है, जो गलत है जब मैं टाइप करके टुकड़ा कर रहा हूं क्योंकि मुझे केवल क्रेडिट के तहत क्रेडिट हिस्से, भुगतान किए गए हिस्से को भुगतान के तहत, $ 0 प्रभार के तहत, आदि
CREATE MEMBER CURRENTCUBE.[Measures].[Received Payment]
AS sum({([Ledger].[Type].&[Credit]), ([Ledger].[Type].&[Paid])
, ([Ledger].[Type].&[Held Money: Copay])}
, [Measures].[Amount - Ledger])
, FORMAT_STRING = "Currency"
, VISIBLE = 1
, ASSOCIATED_MEASURE_GROUP = 'Ledger' ;
वहाँ यह सही संख्या है कि क्या Ledger.Type शामिल है की परवाह किए बिना लौट बनाने के लिए कोई तरीका है डी मेरी पिवट टेबल में या नहीं?
आप रॉक! यह वहीं है जिसे मैं ढूंढ रहा था। –