आपके व्यवसाय में साप्ताहिक विकास प्रवृत्तियों को ट्रैक करने के लिए सप्ताह-दर-सप्ताह निगरानी प्रतिशत वृद्धि एक उपयोगी तरीका है। यहाँ MySQL में सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने का तरीका बताया गया है। इसका उपयोग किसी भी मीट्रिक के लिए SQL में सप्ताह दर सप्ताह परिवर्तन की गणना करने के लिए किया जा सकता है।
MySQL में सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना कैसे करें
यहाँ MySQL में सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने के चरण दिए गए हैं। मान लें कि आपके पास साप्ताहिक_बिक्री (सप्ताह, बिक्री) तालिका है जिसमें साप्ताहिक बिक्री संख्याएं हैं, जैसा कि नीचे दिखाया गया है।
mysql> create table weekly_sales(week int, sale int);
mysql> insert into weekly_sales(week,sale)
values(1,20),(2,30),(3,25),(4,45),(5,25);
mysql> select * from weekly_sales;
+------+------+
| week | sale |
+------+------+
| 1 | 20 |
| 2 | 30 |
| 3 | 25 |
| 4 | 45 |
| 5 | 25 |
+------+------+
आप वृद्धि प्रतिशत के लिए निम्न SQL क्वेरी का उपयोग करके सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना कर सकते हैं।
mysql> select week, sale,
if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate",
@last_entry := sale
from
(select @last_entry := 0) x,
(select week, sum(sale) sale
from weekly_sales
group by week) y;
+------+------+-------------+---------------------+
| week | sale | growth rate | @last_entry := sale |
+------+------+-------------+---------------------+
| 1 | 20 | 0 | 20 |
| 2 | 30 | 50.00 | 30 |
| 3 | 25 | -16.67 | 25 |
| 4 | 45 | 80.00 | 45 |
| 5 | 25 | -44.44 | 25 |
+------+------+-------------+---------------------+
उपरोक्त क्वेरी में, प्रत्येक सप्ताह के लिए, हम इसके पिछले सप्ताह के डेटा को last_entry नामक एक अस्थायी चर में संग्रहीत करते हैं। और प्रतिशत वृद्धि की गणना करने के लिए इसका उपयोग करें।
बोनस पढ़ें : MySQL में दो स्तंभों के प्रतिशत की गणना कैसे करें
हालांकि, ज्यादातर मामलों में, आपके पास साप्ताहिक बिक्री के बजाय दैनिक बिक्री डेटा होगा। इसलिए, उस स्थिति में, आपको पहले इसे साप्ताहिक बिक्री के लिए एकत्रित करना होगा और फिर सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने के लिए उपरोक्त क्वेरी का उपयोग करना होगा।
मान लें कि आपके पास दैनिक बिक्री डेटा तालिका बिक्री (order_date, बिक्री) है
mysql>create table sales(order_date date,sale int);
mysql>insert into sales(order_date,sale)
values('2020-01-01',10),('2020-01-02',12),('2020-01-03',15),
('2020-01-04',11),('2020-01-05',13),('2020-01-06',9),
('2020-01-07',21),('2020-01-08',10),('2020-01-09',10),
('2020-01-10',2),('2020-01-11',16),('2020-01-12',12),
('2020-01-13',10),('2020-01-14',18),('2020-01-15',15),
('2020-01-16',12),('2020-01-17',10),('2020-01-18',18),
('2020-01-19',14),('2020-01-20',16),('2020-01-21',12),
('2020-01-22',21),('2020-01-23',13),('2020-01-24',15),
('2020-01-25',20),('2020-01-26',14),('2020-01-27',16),
('2020-01-28',15),('2020-01-29',10),('2020-01-30',18);
mysql>select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-01 | 10 |
| 2020-01-02 | 12 |
| 2020-01-03 | 15 |
| 2020-01-04 | 11 |
| 2020-01-05 | 13 |
| 2020-01-06 | 9 |
| 2020-01-07 | 21 |
| 2020-01-08 | 10 |
| 2020-01-09 | 10 |
| ... | ...|
+------------+------+
मान लें कि आप सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करना चाहते हैं, यहां समय के साथ प्रतिशत परिवर्तन के लिए SQL है।
mysql> select week, sale,
if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate",
@last_entry := sale
from
(select @last_entry := 0) x,
(select week, sum(sale) sale
from (select week(order_date) as week,sum(sale) as sale
from sales group by week(order_date)) weekly_sales
group by week) y;
+------+------+-------------+---------------------+
| week | sale | growth rate | @last_entry := sale |
+------+------+-------------+---------------------+
| 0 | 48 | 0 | 48 |
| 1 | 81 | 68.75 | 81 |
| 2 | 95 | 17.28 | 95 |
| 3 | 111 | 16.84 | 111 |
| 4 | 73 | -34.23 | 73 |
+------+------+-------------+---------------------+
उपरोक्त क्वेरी में, हम पहले दैनिक बिक्री को साप्ताहिक बिक्री में जोड़ते हैं (बोल्ड . में) )और फिर सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने के लिए पिछली क्वेरी का उपयोग करें।
बोनस पढ़ें : MySQL में एक कॉलम के प्रतिशत की गणना कैसे करें
यदि आप अपनी क्वेरी के लिए उपयोग किए गए डेटा को फ़िल्टर करना चाहते हैं, तो आप अपनी क्वेरी में WHERE क्लॉज़ जोड़ सकते हैं जैसा कि नीचे दिखाया गया है
mysql> select week, sale,
if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate",
@last_entry := sale
from
(select @last_entry := 0) x,
(select week, sum(sale) sale
from (select week(order_date) as week,sum(sale) as sale
from sales
WHERE condition
group by week(order_date)) weekly_sales
group by week) y;
कृपया ध्यान दें, चूंकि सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना एक अस्थायी चर में पिछली पंक्ति के मान को संग्रहीत करने पर निर्भर करती है, कृपया सुनिश्चित करें कि आपकी तालिका पहले से ही सप्ताह की संख्या के आरोही क्रम में क्रमबद्ध है। नहीं तो यह गलत परिणाम दे सकता है।
सप्ताह दर सप्ताह प्रतिशत वृद्धि की गणना करने के बाद, आप बार चार्ट में परिणाम को प्लॉट करने के लिए चार्टिंग टूल का उपयोग कर सकते हैं और इसे अपनी टीम के साथ साझा कर सकते हैं। यहां बार चार्ट का एक उदाहरण दिया गया है जो Ubiq का उपयोग करके बनाए गए समय के साथ प्रतिशत परिवर्तन दिखाता है।

यदि आप MySQL डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप Ubiq को आज़मा सकते हैं। हम 14-दिन का निःशुल्क परीक्षण प्रदान करते हैं।