Monday, 22 January 2018

T-sql - घातीय चलती - औसत


मैं SQL Server 2008 R2 के साथ काम कर रहा हूं, एक चलती औसत की गणना करने की कोशिश कर रहा हूं मेरे दृश्य में प्रत्येक अभिलेख के लिए, मैं 250 पिछले अभिलेखों के मूल्यों को एकत्र करना चाहता हूं, और उसके बाद इस चयन के लिए औसत की गणना करें।.TransactionID अद्वितीय है प्रत्येक TransactionID के लिए मैं पिछले 250 रिकॉर्डों पर, कॉलम मूल्य के लिए औसत की गणना करना चाहता हूं इसलिए लेनदेन आईडी 300 के लिए, पिछले 250 पंक्तियों के दृश्य से सभी मान एकत्रित करें TransactionID द्वारा अवरोही क्रमबद्ध है और फिर कॉलम में MovAvg में परिणाम इन मूल्यों की औसत मैं रिकॉर्ड की एक सीमा के भीतर डेटा एकत्र करने के लिए देख रहा हूं। टीएक्स-एसक्यूएल में सामान्य औसत 28 अक्टूबर को 20 58. औसत अंक। ट्रैवल विश्लेषण में सामान्य गणना चलती है या रोलिंग औसत चलती औसत औसत है उदाहरण के लिए, पिछले 10 पंक्तियाँ चलती औसत वास्तविक मूल्यों की तुलना में अधिक चिकनी वक्र दिखाती हैं, अधिक चलती औसत के लिए लंबी अवधि के साथ, यह रुझान के विश्लेषण के लिए एक अच्छा टूल बनाकर यह ब्लॉग पोस्ट कैसे दिखाएगा टी-एसक्यूएल में चलती औसत की गणना अलग-अलग तरीकों का इस्तेमाल एसक्यूएल सर्वर के संस्करण के आधार पर किया जाएगा। नीचे दिए गए चार्ट 200 दिनों की चलती औसत के साथ चिकनाई प्रभाव लाल रेखा को दर्शाता है शेयर कोट्स नीली रेखा हैं लंबी अवधि की प्रवृत्ति स्पष्ट रूप से दिखाई देती है। टी-एसक्यूएल मूविंग एवरेज 200 दिनों का है। नीचे दिए गए प्रदर्शन को एसएडीबी डेटाबेस की आवश्यकता है जिसे यहां स्थित स्क्रिप्ट के साथ बनाया जा सकता है। आगामी उदाहरण में हम पिछले 20 दिनों के लिए चलती औसत की गणना करेंगे, SQL सर्वर के संस्करण के आधार पर गणना करने के लिए एक अलग तरीका है और, जैसा कि हम बाद में देखेंगे, SQL सर्वर के नए संस्करण में बहुत अधिक प्रभावी गणना करने में कार्य किया जाता है। SQL सर्वर 2012 और बाद में मूविंग औसत। यह संस्करण एक समग्र विंडो फ़ंक्शन का उपयोग करता है Whats नया एसक्यूएल 2012 में खिड़की से आने वाली पंक्तियों को निर्दिष्ट करके खिड़की के आकार को सीमित करने की संभावना है। पूर्ववर्ती रोशनी 1 9 है, क्योंकि हम वर्तमान पंक्ति के साथ-साथ इसमें शामिल होंगे वह गणना जैसा कि आप देख सकते हैं, एसक्यूएल सर्वर 2012 में चलती औसत की गणना बहुत सरल है। नीचे दिए गए आंकड़े विंडोिंग सिद्धांत दर्शाते हैं वर्तमान पंक्ति को पीले रंग के साथ चिह्नित किया गया है खिड़की नीली पृष्ठभूमि के साथ चिह्नित है चलती औसत भाव कोट की बस औसत है नीला लाइनों में। एसक्यूएल चलने की औसत खिड़की। SQL सर्वर के पुराने संस्करणों में गणना के परिणाम एक समान हैं, इसलिए वे फिर से नहीं दिखाए जाएंगे। SQL सर्वर 2005 20082 चल रहा औसत। यह संस्करण एक आम तालिका का उपयोग करता है अभिव्यक्ति सीटीई स्वयं प्रत्येक पंक्ति के लिए पिछले 20 पंक्तियां प्राप्त करने के लिए संदर्भित है। SQL सर्वर 2005 से पहले औसत औसत। पूर्व 2005 संस्करण पिछले 20 पंक्तियों को प्राप्त करने के लिए एक ही तालिका में एक बाएं बाहरी जुड़ने का उपयोग करेगा बाहरी तालिका को कहा जा सकता है उस विंडो को शामिल करें जिसमें हम औसत पर गणना करना चाहते हैं। प्रदर्शन की तुलना। यदि हम तीन अलग-अलग तरीकों को एक साथ चलाते हैं और परिणामी निष्पादन योजना की जांच करते हैं, तो तरीकों के बीच प्रदर्शन में नाटकीय अंतर होता है चलती औसत की गणना करने के लिए तीन अलग-अलग तरीकों का पालन करें। जैसा कि आप देख सकते हैं, एसक्यूएल 2012 में विंडोिंग फंक्शन में सुधार प्रदर्शन में काफी अंतर आता है। जैसा कि इस पोस्ट की शुरुआत में उल्लिखित है, मूविंग एवरेज ट्रेंड को एक उदाहरण के रूप में इस्तेमाल किया जाता है। दृष्टिकोण क्रमशः, लघु, मध्यम और दीर्घकालिक प्रवृत्तियों में परिवर्तनों को स्थानांतरित करने के लिए अलग-अलग लंबाईों की चलती औसत गठबंधन करना है। विशेष ब्याज प्रवृत्ति लाइनों को पार करना है उदाहरण के लिए, जब छोटी प्रवृत्ति लंबी या मध्यम प्रवृत्ति पर चलता है, यह तकनीकी विश्लेषण में एक खरीदने के संकेत के रूप में व्याख्या की जा सकती है और जब एक छोटी प्रवृत्ति लाइन के तहत लघु रुझान बढ़ता है, तो यह एक विक्रय संकेत के रूप में व्याख्या की जा सकती है। चार्ट नीचे उद्धरण, Ma20, Ma50 और Ma200.T-SQL Ma20, Ma50, Ma200 खरीदने और बेचने के संकेत। इस ब्लॉग पोस्ट तकनीकी विश्लेषण, टीए, एसक्यूएल सर्वर के बारे में एक सीरी का हिस्सा है यहां अन्य पोस्ट देखें। टॉमस लिंड द्वारा पोस्ट किया गया। टी-एसक्यूएल में एक्सपेनेंशियल मूविंग एवरेज। भारित मूविंग एवरेजों में वे बहुत पहले बदलावों को कम भार देते हैं, और हाल के परिवर्तनों के लिए अधिक भार भारित चल औसत पर रैखिक हैं, लेकिन घातीय मूविंग एवरेज घातीय हैं, वज़न को वक्र के रूप में व्यक्त किया जा सकता है। एक शानदार तरीका टी-एसक्यूएल में एक्सपेंलेनेबल मूविंग एल्स की गणना करने के लिए एक गैर-दस्तावेज सुविधा का इस्तेमाल करते हुए वेरिएबल्स और SQL सर्वर में कुल योग के बारे में इस ब्लॉग पोस्ट में मैं टी-एसक्यूएल में घातीय चलती औसत की गणना करने के लिए उस पद्धति का उपयोग कैसे करूं, लेकिन मैं एक विधि भी प्रस्तुत करूंगा जो SQL सर्वर में मानक सुविधाओं का उपयोग कर रहा है दुर्भाग्यवश, इसका अर्थ है एक लूप का उपयोग करना। उदाहरणों में मैं 9 दिन का घातीय चलती औसत की गणना करूँगा उदाहरणों में टेड को बनाने के लिए डेटाबेस TAdb ए स्क्रिप्ट का उपयोग यहां पाया जा सकता है। एक्सपेनेंशियल मूविंग औसत ईएमए रनिंग कुल विधि। अद्यतनों में चल रहे कुल सुविधाओं के पीछे के सिद्धांत को जेफ मोडेन द्वारा अपने आलेख में रनिंग कुल और क्रमिक रैंक समस्याएं सुलझाने के बारे में विस्तार से वर्णित किया गया है। अन्य संसाधन एएमए की गणना करने के लिए इस पद्धति का उपयोग करके बताओ ब्लॉग पोस्टिंग है, टी-एसक्यूएल के साथ गेब्रियल प्रीस्टर द्वारा चलने की औसत मुनाफा और फोकस पोस्ट एक्सपोजेंशियल मूविंग औसत चुनौती दोनों SQL सर्वर सेंट्रल पर। मूल रूप से, टी-एसक्यूएल में आप चर के साथ-साथ कॉलम अपडेट कर सकते हैं एक अद्यतन कथन अद्यतन SQL सर्वर द्वारा आंतरिक रूप से पंक्ति द्वारा पंक्तिबद्ध किया जाता है पंक्ति पंक्ति से यह पंक्ति है जो कुल चलने की कुल संभव गणना करता है। यह उदाहरण दिखाता है कि यह कैसा कार्य करता है। कॉलमरिंगटॉल कुल कॉलमटौसम का चल रहा है। इस विधि का उपयोग करके हम इस टी-एसक्यूएल के साथ ईएमए 9 की गणना करें। ईएमए की गणना सरल है, हम वर्तमान पंक्ति और पिछले का उपयोग करते हैं, लेकिन वर्तमान पंक्ति में अधिक वजन के साथ वजन का सूत्र 2 1 9 से गणना किया जाता है, जहां 9 के लिए पैरामीटर है ईएमए की लंबाई ऊपर पंक्ति 10 के लिए ईएमए 9 की गणना करने के लिए, गणना है। इस मामले में वर्तमान पंक्ति में 20 वजन 2 1 9 2 हैं और पिछली पंक्ति में 1-2 वजन 1 1 9 0 8.You सेंट में यह गणना पाते हैं एमेज़न स्टेटमेंट में उपरोक्त वक्तव्य। एक्सपेनेंशियल मूविंग एएएमए लूपिंग मेथड। जहाँ तक मुझे पता है, उपर्युक्त चलने वाली कुल विधि को छोड़कर, एसएके आधारित एसक्यूएल स्टेटमेंट का इस्तेमाल करने के लिए ईएमए की गणना करने का कोई रास्ता नहीं है इसलिए, नीचे टी-एसक्यूएल ईएमए 9 की गणना करने के लिए थोड़ी देर लूप का उपयोग करते हुए। परिणाम ऊपर चलने वाली कुल उदाहरण के समान हैं। उम्मीद के अनुसार, सेट आधारित चालू कुल संस्करण लूप संस्करण की तुलना में अधिक तेज़ है मेरी मशीन पर सेट आधारित समाधान लगभग 300 एमएस था लूप संस्करण के साथ लगभग 1200 तक लूप संस्करण अधिक एसक्यूएल मानकों के अनुरूप है तथापि, तरीकों के बीच का चुनाव आपके लिए क्या सबसे महत्वपूर्ण है पर निर्भर करता है, प्रदर्शन या मानकों। घातीय चलती औसत प्रवृत्ति विश्लेषण में इस्तेमाल किया जा सकता है, जैसा कि अन्य प्रकार की चलती औसत, सरल मूविंग औसत एसएमए और वेटेड मूविंग एवरेज डब्लूएमए। तकनीकी विश्लेषण में भी अन्य गणनाएं हैं जो उदाहरण के लिए एएमए, एमएसीडी का उपयोग करती हैं। यह ब्लॉग पोस्ट तकनीक के बारे में एक सीरी का हिस्सा है सीएल विश्लेषण, टीए, एसक्यूएल सर्वर में यहां अन्य पोस्ट देखें। टॉमस लिंड द्वारा पोस्ट किया गया। टॉमस लिंड - उच्चस्तरीय डेटाबेस समाधान एबी में एसक्यूएल सर्वर डीबीए और डाटाबेस डेवलपर के रूप में परामर्श सेवाएं।

No comments:

Post a Comment