पर्सेंटाइल की गणना करने से आपको विश्लेषण के लिए डेटा रैंक करने के साथ-साथ मूल्यों के एक सेट के लिए माध्यिका की गणना करने में मदद मिलती है। यहां बताया गया है कि percentile_cont . का उपयोग करके PostgreSQL में पर्सेंटाइल की गणना कैसे करें खिड़की समारोह। हम यह भी देखेंगे कि PostgreSQL में 50वें पर्सेंटाइल, 90वें पर्सेंटाइल, 95वें पर्सेंटाइल और nवें पर्सेंटाइल की गणना कैसे करें, क्योंकि इनका उपयोग आमतौर पर डेटा विश्लेषण में किया जाता है।
PostgreSQL में पर्सेंटाइल की गणना कैसे करें
हम percentile_cont . का उपयोग करके PostgreSQL में पर्सेंटाइल की गणना करेंगे विंडो फ़ंक्शन
मान लें कि आपके पास निम्न तालिका है बिक्री(order_date, राशि) और आप 50वें पर्सेंटाइल की गणना करना चाहते हैं।
postgres=# create table sales(order_date date,sale int); postgres=# insert into sales values('2020-04-01',210), ('2020-04-02',125),('2020-04-03',150),('2020-04-04',230), ('2020-04-05',200),('2020-04-10',220),('2020-04-06',25), ('2020-04-07',215),('2020-04-08',300),('2020-04-09',250); postgres=# select * from sales; order_date | sale ------------+------ 2020-04-01 | 210 2020-04-02 | 125 2020-04-03 | 150 2020-04-04 | 230 2020-04-05 | 200 2020-04-10 | 220 2020-04-06 | 25 2020-04-07 | 215 2020-04-08 | 300 2020-04-09 | 250
बोनस पढ़ें :PostgreSQL में छूटी हुई तिथियों को कैसे भरें
यहाँ PostgreSQL में 50वें प्रतिशतक की गणना करने के लिए क्वेरी है। PostgreSQL में माध्यिका की गणना करने के लिए आप उसी क्वेरी का उपयोग कर सकते हैं।
postgres=# SELECT PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY sale) FROM sales; percentile_cont ----------------- 212.5
उपरोक्त क्वेरी में, हम percentile_cont . का उपयोग करते हैं विंडो फ़ंक्शन जो आपको यह परिभाषित करने की अनुमति देता है कि कौन सा प्रतिशतक (उदा 0.5 .) वह 50 वाँ प्रतिशतक है) आप गणना करना चाहते हैं। फिर हम बिक्री . के समूह के भीतर पर्सेंटाइल की गणना करने के लिए WITHIN GROUP क्लॉज़ का भी उपयोग करते हैं मूल्य। हम बिक्री . को सॉर्ट करने के लिए ORDER BY क्लॉज का भी उपयोग करते हैं इससे पहले कि हम PostgreSQL में पर्सेंटाइल की गणना करें।
जब आप percentile_cont . का उपयोग करते हैं विंडो फ़ंक्शन, PostgreSQL 2 मध्य मानों के औसत के रूप में माध्य मान (210, 215) के रूप में प्रक्षेपित करेगा, यदि 2 मध्य मान हैं। इसलिए यह 212.5 लौटाता है
बोनस पढ़ें :PostgreSQL में मूविंग एवरेज की गणना कैसे करें
जब आप PostgreSQL में पर्सेंटाइल की गणना कर सकते हैं, यदि आप नहीं चाहते कि PostgreSQL इंटरपोलेट करे, लेकिन केवल निकटतम मान लौटाए, तो percentile_disc का उपयोग करें इसके बजाय विंडो फ़ंक्शन। यहां एक उदाहरण दिया गया है
postgres=# SELECT PERCENTILE_DISC(0.5) WITHIN GROUP(ORDER BY sale) FROM sales; percentile_disc ----------------- 210
इस मामले में, यदि 2 मध्य मान हैं, तो यह मध्य मानों में से एक को वापस कर देगा।
बोनस पढ़ें :CSV फ़ाइल को PostgreSQL में कैसे आयात करें
PostgreSQL में 90वें प्रतिशतक की गणना कैसे करें
इसी तरह, आप percentile_cont का उपयोग करके PostgreSQL में 90वें प्रतिशतक की गणना कर सकते हैं। हम 0.5 से 0.9 को बदलते हैं में परसेंटाइल_कंट समारोह
postgres=# SELECT PERCENTILE_CONT(0.9) WITHIN GROUP(ORDER BY sale) FROM sales; percentile_cont ----------------- 255
आप percentile_disc . का उपयोग करके PostgreSQL में 90वें प्रतिशतक की गणना भी कर सकते हैं
postgres=# SELECT PERCENTILE_DISC(0.9) WITHIN GROUP(ORDER BY sale) FROM sales; percentile_disc ----------------- 250
PostgreSQL में 95वें प्रतिशतक की गणना कैसे करें
इसी तरह, आप percentile_cont . का उपयोग करके PostgreSQL में 95वें पर्सेंटाइल की गणना कर सकते हैं
postgres=# SELECT PERCENTILE_CONT(0.95) WITHIN GROUP(ORDER BY sale) FROM sales; percentile_cont ----------------- 277.5
आप percentile_disc . का उपयोग करके PostgreSQL में 95वें पर्सेंटाइल की गणना भी कर सकते हैं
postgres=# SELECT PERCENTILE_DISC(0.95) WITHIN GROUP(ORDER BY sale) FROM sales; percentile_disc ----------------- 300
PostgreSQL में nवें प्रतिशतक की गणना कैसे करें
इसी तरह, आप percentile_cont का उपयोग करके PostgreSQL में nवें प्रतिशतक की गणना कर सकते हैं। हम मूल रूप से n/100 in percentile_cont . की आपूर्ति करते हैं समारोह
postgres=# SELECT PERCENTILE_CONT(n/100) WITHIN GROUP(ORDER BY sale) FROM sales;
आप percentile_disc . का उपयोग करके PostgreSQL में 90वें प्रतिशतक की गणना भी कर सकते हैं
postgres=# SELECT PERCENTILE_DISC(n/100) WITHIN GROUP(ORDER BY sale) FROM sales;
पोस्टग्रेएसक्यूएल में पर्सेंटाइल की गणना करने के बाद, आप अंतर का विश्लेषण करने और लक्ष्य निर्धारण करने के लिए लाइन चार्ट पर पर्सेंटाइल वैल्यू के साथ-साथ पर्सेंटाइल वैल्यू को प्लॉट करने के लिए पोस्टग्रेएसक्यूएल रिपोर्टिंग टूल का उपयोग कर सकते हैं। उसके लिए हम परिकलित 50वें प्रतिशतक मान को मूल बिक्री . के साथ जोड़ देंगे तालिका जैसा कि नीचे दिखाया गया है
postgres=# select * from sales, (SELECT PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY sale) FROM sales) temp order by order_date; order_date | sale | percentile_cont ------------+------+----------------- 2020-04-01 | 210 | 212.5 2020-04-02 | 125 | 212.5 2020-04-03 | 150 | 212.5 2020-04-04 | 230 | 212.5 2020-04-05 | 200 | 212.5 2020-04-06 | 25 | 212.5 2020-04-07 | 215 | 212.5 2020-04-08 | 300 | 212.5 2020-04-09 | 250 | 212.5 2020-04-10 | 220 | 212.5
यहां एक लाइन चार्ट दिया गया है जो यूबिक का उपयोग करके प्लॉट किए गए पर्सेंटाइल के साथ दैनिक बिक्री दिखाता है
यदि आप PostgreSQL डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप Ubiq को आज़मा सकते हैं। हम 14-दिन का निःशुल्क परीक्षण प्रदान करते हैं।