PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

कुल चलने वाली रोलिंग अवधि कैसे बनाएं

एक रोलिंग समयावधि में कुल विज़िट या उपयोगकर्ताओं या गतिविधियों को जानना आपकी वेबसाइट या ऐप के प्रदर्शन का विश्लेषण करने का एक अच्छा तरीका है। खोज शब्द "12 महीने की रोलिंग रिपोर्ट" में 12 मिलियन से अधिक खोज परिणाम हैं, और विशेषज्ञों का मानना ​​है कि रोलिंग रिपोर्ट रुझान दिखाने के सर्वोत्तम तरीकों में से एक है। आपके उपयोग के मामले के आधार पर, वार्षिक या 12 महीने के दृश्य के लिए अपनी समयावधि को प्रतिस्थापित करना उतना ही व्यावहारिक है।

उदाहरण के लिए, छह महीने की समयावधि में दैनिक वेबसाइट विज़िटर रुझानों का विश्लेषण मूल्यवान जानकारी दिखा सकता है, लेकिन यह चार्ट के दायरे में छोटी समयावधि में रुझान नहीं दिखाता है। यह केवल समग्र प्रवृत्ति दिखाएगा।

यदि आप विकास की अवधियों की पहचान करने के लिए अंतर्दृष्टि प्राप्त करना चाहते हैं या एक रोलिंग प्रवृत्ति विश्लेषण से आपको इन अवधियों की पहचान करने में मदद मिल सकती है। नीचे दिया गया चार्ट ऊपर देखा गया वही डेटा दिखाता है, जो एक रोलिंग 7 दिन के रुझान प्रारूप में दैनिक अंतराल पर सरणीबद्ध है।

इस 7 दिन की अवधि के रोलिंग व्यू के साथ आप दैनिक कुल लाइन चार्ट में देखे जाने वाले समग्र रुझान से अधिक देख सकते हैं। यहां आप समग्र अनुभव के भीतर सूक्ष्म रुझान देख सकते हैं जो आपके संगठन के लिए बहुत अधिक व्यावहारिक जानकारी प्रकट कर सकता है। हमारे उदाहरण में यहां हम देख सकते हैं कि हमारे पहले चार्ट में दिन के हिसाब से आगंतुकों की कुल प्रवृत्ति ऊपर है, लेकिन हमारे दूसरे चार्ट में हमारे समग्र रुझान के भीतर लगातार 7 अवधियों का पता चलता है जो नीचे की दिशा में हैं। इस तरह की अंतर्दृष्टि हमें नीचे की प्रवृत्ति की अवधि की पहचान करने में मदद कर सकती है जो मार्केटिंग प्रयासों से मेल खा सकती है जो या तो काम करती है या नहीं।

क्वेरी

इस क्वेरी को बनाने के लिए हम कुछ चीज़ें जानना चाहेंगे:

  1. रोलिंग अवधि। उदाहरण 12 महीने, 30 दिन या 7 दिन। हमारे मामले में:7 दिन।
  2. जिस मीट्रिक का हम विश्लेषण कर रहे हैं:प्रतिदिन विज़िटर।

क्वेरी विभिन्न उपश्रेणियों से बनी होगी। सबसे पहले, विज़िटर.created_date कॉलम में दिनांक अवधि के प्रारंभ से अंत तक सभी तिथियों के लिए तालिका में पंक्तियों को असाइन करने के लिए Generate_series का उपयोग करें, जिसे मुख्य SELECT स्टेटमेंट में कहा जाएगा। यह सबक्वेरी उस तालिका के रूप में काम करेगी जिसे हम चुनेंगे।

एक दूसरी सबक्वायरी मुख्य खंड में जाएगी और उन सभी अद्वितीय आगंतुकों की गिनती लौटाएगी जो 7 दिनों की अवधि में हमारी साइट पर आए थे। यह सबक्वेरी मुख्य क्वेरी में अपने स्वयं के कॉलम के रूप में काम करेगी, और "दिन" से "दिन" से पहले के 7 दिनों तक अलग-अलग विज़िटर की गणना करेगी।

इन सभी को एक साथ रखकर, हम 7 दिनों की अवधि में अपने विज़िटर प्रति दिन की रोलिंग प्रवृत्ति उत्पन्न कर सकते हैं:

    SELECT
        day,
        (
          SELECT
              COUNT(DISTINCT "Visitors"."visitor_id") AS "Visitors"
          FROM
              "public"."visitors" AS "Visitors"
          WHERE  
              "Visitors"."created_date" BETWEEN b.day - 7 AND b.day + 1
        )
    FROM  (SELECT
            generate_series(
                            MIN(DATE_TRUNC('day', "Visitors"."created_date")::DATE),
                            MAX(DATE_TRUNC('day', "Visitors"."created_date")::DATE),
                            '1d')::date as day
            FROM "public"."visitors" AS "Visitors"
          ) as b
    GROUP BY day                        
    ORDER BY day

गणित का परीक्षण। हम यहां निम्नलिखित तालिका में गणित का परीक्षण कर सकते हैं। पिछले 7 दिनों को काउंट कॉलम में निर्दिष्ट करने वाले लैग चरण और विज़िटर कॉलम के बराबर कुल कॉलम देखें।

हमारे गणित की पुष्टि के साथ, हम इस फ़ंक्शन पर भरोसा कर सकते हैं ताकि हमें रोलिंग अवधि के कुल योग का एक समग्र दृश्य मिल सके। उपरोक्त क्वेरी को आपके उपयोग के मामले के आधार पर अलग-अलग समय अवधि दिखाने के लिए समायोजित किया जा सकता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres डेटाबेस में सभी तालिकाओं को छोटा करना

  2. SQL 30 दिनों से पुराने सभी रिकॉर्ड प्राप्त करें

  3. बाइट के लिए उचित हाइबरनेट एनोटेशन []

  4. dplyr left_join से कम, शर्त से बड़ा

  5. PostgreSQL में Arrays की तुलना कैसे करें