Calculs numériques

Types de données et fonctions dans Snowflake

Jake Roach

Field Data Engineer

Calculs numériques

Trois types de calculs et manipulations numériques.

Types de données et fonctions dans Snowflake

Comparer des valeurs numériques

Les opérateurs de comparaison comparent ou évaluent plusieurs valeurs

  • =, deux valeurs sont-elles égales ?
  • !=, deux valeurs sont-elles différentes ?
  • <, une valeur est-elle inférieure à une autre ?
  • >, une valeur est-elle supérieure à une autre ?
  • <= inférieure ou égale
  • >=, supérieure ou égale

$$

            Renvoient true ou false !

$$

        1 = 1,   -- true

1 != 1, -- false
1 < 2, -- true
1 > 2, -- false
1 <= 2, -- true
2 >= 2 -- true
... WHERE 1 = 1 -- Filtrer les enregistrements
Types de données et fonctions dans Snowflake

Arithmétique dans Snowflake

SELECT

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

                ...
  • Peut se faire entre une permutation de # et field

Les opérateurs arithmétiques permettent de faire des « maths » avec des valeurs numériques

$$

  • +, addition
  • -, soustraction
  • *, multiplication
  • /, division
Types de données et fonctions dans Snowflake

Arithmétique

SELECT
    student_name, exam_score,

exam_score + 10 AS add_points, -- Ajouter 10 points à chaque note
exam_score * curve AS curved, -- Majorée de 10 %
exam_score / 2 AS weighted -- Réduire le poids de l’épreuve
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
Types de données et fonctions dans Snowflake

Les fonctions d’agrégation produisent des synthèses

Une illustration d’agrégation GROUP BY.

Types de données et fonctions dans Snowflake

Fonctions d’agrégation

 SELECT

<1>,
SUM(<field>), -- Renvoie le total d’une colonne
AVG(<field>) -- Calcule la moyenne d’une colonne
FROM ...
GROUP BY <1>;

Il faut GROUP BY pour les champs non agrégés !

  • GROUP BY ALL
Types de données et fonctions dans Snowflake

Fonctions d’agrégation

SELECT
    exam_name,

    SUM(correct_answers) AS total_correct_answers,      -- Nb total correct
    AVG(exam_score) AS avg_exam_score,                  -- Note moyenne


ROUND(AVG(exam_score), 1) AS rounded_exam_score -- ROUND(<value>, <n>)
FROM STUDENTS.grades GROUP BY exam_name; -- GROUP BY pour agréger, sinon erreur

ROUND() prend une valeur à arrondir et le nombre de décimales à conserver

Types de données et fonctions dans Snowflake

Fonctions d’agrégation

   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

Valeurs obtenues avec :

  • SUM(correct_answers)
  • AVG(exam_score)
  • ROUND(AVG(exam_score), 2)
Types de données et fonctions dans Snowflake

Passons à la pratique !

Types de données et fonctions dans Snowflake

Preparing Video For Download...