Perhitungan numerik

Tipe Data dan Fungsi di Snowflake

Jake Roach

Field Data Engineer

Perhitungan numerik

Tiga jenis perhitungan dan manipulasi numerik.

Tipe Data dan Fungsi di Snowflake

Membandingkan nilai numerik

Operator perbandingan membantu membandingkan atau mengevaluasi beberapa nilai

  • =, apakah dua nilai sama?
  • !=, apakah dua nilai tidak sama?
  • <, apakah satu nilai kurang dari yang lain?
  • >, apakah satu nilai lebih dari yang lain?
  • <= kurang dari atau sama dengan
  • >=, lebih dari atau sama dengan

$$

            Mengembalikan true atau false!

$$

        1 = 1,   -- true

1 != 1, -- false
1 < 2, -- true
1 > 2, -- false
1 <= 2, -- true
2 >= 2 -- true
... WHERE 1 = 1 -- Memfilter record
Tipe Data dan Fungsi di Snowflake

Aritmetika di Snowflake

SELECT

    <#> + <#>,        -- 2 + 2  ->  4
    <field> - <#>,    -- 4 - 1  ->  3
    <field> * <#>,    -- 3 * 2  ->  6
    <field> / <#>,    -- 9 / 3  ->  3

                ...
  • Dapat dilakukan antara permutasi # dan field

Operator aritmetika memungkinkan kita melakukan “matematika” dengan nilai numerik

$$

  • +, penjumlahan
  • -, pengurangan
  • *, perkalian
  • /, pembagian
Tipe Data dan Fungsi di Snowflake

Aritmetika

SELECT
    student_name, exam_score,

exam_score + 10 AS add_points, -- Tambah 10 poin ke nilai tiap siswa
exam_score * curve AS curved, -- Kurva nilai 10%
exam_score / 2 AS weighted -- Kurangi bobot tes
FROM STUDENTS.grades;
              student_name  |   exam_score   |  add_points  |  curved  |  weighted  
             -------------- | -------------- | ------------ | -------- | ----------
               Ryan         |       78       |      88      |   85.8   |     39
               Tatiana      |       89       |      99      |   97.9   |    44.5
               Pankaj       |       74       |      84      |   81.4   |     37
Tipe Data dan Fungsi di Snowflake

Fungsi agregasi menghasilkan ringkasan data

Ilustrasi rekaman agregasi GROUP BY.

Tipe Data dan Fungsi di Snowflake

Fungsi agregasi

 SELECT

<1>,
SUM(<field>), -- Mengembalikan total kolom
AVG(<field>) -- Mencari nilai rata-rata kolom
FROM ...
GROUP BY <1>;

Wajib GROUP BY untuk field non-agregat!

  • GROUP BY ALL
Tipe Data dan Fungsi di Snowflake

Fungsi agregasi

SELECT
    exam_name,

    SUM(correct_answers) AS total_correct_answers,      -- Jumlah benar total
    AVG(exam_score) AS avg_exam_score,                  -- Nilai ujian rata-rata


ROUND(AVG(exam_score), 1) AS rounded_exam_score -- ROUND(<value>, <n>)
FROM STUDENTS.grades GROUP BY exam_name; -- GROUP BY untuk mengagregasi, jika tidak akan error

ROUND() menerima nilai yang akan dibulatkan dan jumlah digit setelah desimal

Tipe Data dan Fungsi di Snowflake

Fungsi agregasi

   exam_name    |  total_correct_answers  |  avg_exam_score  |  rounded_avg_exam_score 
  ------------- | ----------------------- | ---------------- | ------------------------ 
   Calculus I   |           871           |      89.11111    |           89.1     
   Biology      |           776           |      87.47777    |           87.5
   English III  |           541           |      91.33333    |           91.3
   Python       |          1179           |      92.78787    |           92.8
   Finance      |           349           |      96.14156    |           96.1

Nilai dihasilkan dengan:

  • SUM(correct_answers)
  • AVG(exam_score)
  • ROUND(AVG(exam_score), 2)
Tipe Data dan Fungsi di Snowflake

Ayo berlatih!

Tipe Data dan Fungsi di Snowflake

Preparing Video For Download...