Snowflake में conditional logic लागू करना

Snowflake में डेटा मैनिपुलेशन

Jake Roach

Field Data Engineer

CASE स्टेटमेंट्स के साथ एग्रीगेशन

CASE स्टेटमेंट वाली क्वेरीज़ में एग्रीगेशन फंक्शंस भी लग सकते हैं.

  • SUM()
  • AVG()
  • MIN()
  • MAX()
  • ...
  • MODE()

$$

बस GROUP BY जोड़ना न भूलें!

एग्रीगेशन और ग्रुपिंग के साथ CASE स्टेटमेंट का ढाँचा

Snowflake में डेटा मैनिपुलेशन

CASE स्टेटमेंट्स के साथ एग्रीगेशन

SELECT
    CASE
        WHEN month_num IN (12, 1, 2) THEN 'Winter'
        WHEN month_num IN (3, 4, 5) THEN 'Spring'
        WHEN month_num in (6, 7, 8) THEN 'Summer'
        ELSE 'Fall'
    END AS season,

AVG(temperature) AS average_temperature, -- AVG() से डेटा प्रोसेस करें
year_num FROM weather GROUP BY season, year_num; -- non-aggregated फ़ील्ड्स पर group करना याद रखें
Snowflake में डेटा मैनिपुलेशन

CASE स्टेटमेंट्स के साथ एग्रीगेशन

हर सीज़न और साल के लिए औसत तापमान खोजने वाली क्वेरी के परिणाम

Snowflake में डेटा मैनिपुलेशन

CASE से बने फ़ील्ड्स को एग्रीगेट करना

SELECT
    season,
    AVG(
        CASE
            WHEN season = 'Winter' THEN temperature - 30
            WHEN season IN ('Spring', 'Fall') THEN temperature - 60
            WHEN season = 'Summer' THEN temperature - 75
        END
    ) AS relation_to_average_temperature
FROM weather
GROUP BY season;
Snowflake में डेटा मैनिपुलेशन

CASE से बने फ़ील्ड्स को एग्रीगेट करना

सीज़न के आधार पर औसत तापमान के संबंध को दिखाती तालिका

Snowflake में डेटा मैनिपुलेशन

JOIN's

SELECT
    ...

    -- एक CASE स्टेटमेंट परिभाषित करें
    CASE ...

FROM <left_table>

-- नए रिकॉर्ड्स को मौजूदा टेबल से JOIN करें
LEFT JOIN <right_table> 
    ... 
;

CASE स्टेटमेंट्स दो अलग-अलग टेबल्स से जॉइन किए गए डेटा पर भी बनाए जा सकते हैं.

  • CASE में एक से अधिक टेबल की कॉलम्स इस्तेमाल करें
  • LEFT, RIGHT, INNER, OUTER, आदि
  • अन्य टूल्स के साथ मिलाएँ, जिनमें एग्रीगेशन फंक्शंस भी शामिल हैं

$$

$$

                                  आइए देखते हैं!

Snowflake में डेटा मैनिपुलेशन

कॉलेज क्रेडिट स्थिति निर्धारित करना

SELECT
    students.student_name,
    student_courses.course_name,

-- छात्र की grade संख्या और कोर्स की grade दोनों जाँचें CASE WHEN students.grade_num = 12 AND student_courses.grade > 90 THEN 'College Credit Eligible' ELSE 'Too Early for College Credit' END AS college_credit_status
FROM student_courses LEFT JOIN students ON student_courses.student_id = students.student_id;
Snowflake में डेटा मैनिपुलेशन

कॉलेज क्रेडिट स्थिति निर्धारित करना

JOIN की गई students और student_courses टेबल पर क्वेरी के परिणाम

Snowflake में डेटा मैनिपुलेशन

अभ्यास करते हैं!

Snowflake में डेटा मैनिपुलेशन

Preparing Video For Download...