sql server 2012 - Convert "YYYYMMDD" format string to date in MDX? -


ग्रीटिंग्स प्रिय तो दोस्तों,

मुझे "YYYYMMDD" पर तिथि संबंधी कार्यों को लागू करने के साथ कुछ समस्या है MDX में प्रारूप स्ट्रिंग उदाहरण के लिए, अगर मुझे नीचे यह प्रश्न है:

  सदस्य फू के साथ WEEKDay ("2013-03-21") [0] कुछ क्यूब [0] से 0 पर एफयू चुनिए   

यह SSMS में foo के लिए सही ढंग से आउटपुट "5" होगा लेकिन अगर मैं दूसरी पंक्ति को इस प्रकार बदलता हूं:

  सदस्य फू के रूप में WEEKDay ("20130321")   

दुर्भाग्य से, यह "प्रकार बेमेल" त्रुटि फेंक देगा

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

कृपया ध्यान दें कि स्ट्रिंग वास्तव में किसी भी घन में सदस्यों से इनपुट की जाती है जहां MDX चल रहा है। इसलिए स्ट्रिंग प्रारूप पहचानने योग्य हो सकता था, उदा। "YYYY-MM-DD"।

चीयर्स

विषय बहुत पुराना है, लेकिन शायद यह किसी को मदद कर सकता है तकनीक बहुत ही क्रूर है, लेकिन स्केलेबल है। सदन के रूप में सदस्य फू_फल्से के रूप में वीकडे ("20130321") सदस्य के रूप में सप्ताह के दिन ("2013-03-21") सदस्य foo_brute जैसा मामला है जब ईसरे (वीकडे "20130321") = = वाकई तो वीकडेय ("20130321") और मामला / * YYYYMMDD * / जब आईएसईआरआर (वीकडेय ("20130321")) = ट्रू एंड इ्सन्यूमेरिक ("20130321") = ट्रू और आईसरेर (वीकडेए (वाम (" 20130321 ", 4) + '-' + सही (वाम (" 20130321 ", 6), 2) + '-' + सही (" 20130321 ", 2))) = गलत सप्ताहांत (वाम (" 20130321 ", 4 ) + '-' + सही (बाएं ("20130321", 6), 2) + '-' + सही ("20130321", 2)) / * डीडीएमएमवाय वाई वाई * / जब आईस्रेरा (वीकडेय ("20130321")) = सत्य एंड इज़न्यूमेरिक ("20130321") = ट्रू और आईसरेर (वीकडेय (सही ("20130321", 4) + '-' + सही (वाम ("20130321", 4), 2) + '-' + वाम ("20130321" , 2)) = = झूठी तो वीकडे (सही ("20130321", 4) + '-' + सही (वाम ("20130321", 4), 2) + '-' + वाम ("20130321", 2)) / * MMDDYYYY * / जब IsError (वीकडेय ("20130321")) = सत्य और इज़न्यूमेरिक ("20130321") = ट्रू और आईस्रेर (वीकडेय (सही ("20130321", 4) + '-' + वाम ("20130321" 2) + '-' + सही (वाम ("20130321", 4), 2))) = वाकई तो वीकडे (रिग ("20130321", 4), 2)) / * असमर्थित संदेश * / अन्य "असमर्थित प्रारूप" "एंड असैसड" से पहले अंत में सहायक स्वरूप जोड़ना, के बजाय किसी भी इनपुट स्ट्रिंग का उपयोग करें "अंत अंत का चयन करें {foo_false, foo_true, foo_brute} से 0 पर [डेटा क्यूबे]

20130321 "

लेकिन सबसे आसान तरीका दूसरी परत का उपयोग करना है (जैसे एसक्यूएल फ़ंक्शन कन्वर्ट) यदि संभव हो तो एमडीएक्स में डालने से पहले, निश्चित बात।

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

java - Reaching JTextField in a DocumentListener -

c# - Add Image in a stackpanel based on textbox input -