Aller au contenu

Projet Final - Créer un datamart


SQL est le langage qui permet d'interroger les bases de données relationnelles sur lesquelles reposent les entrepôts de données. Maîtriser le langage SQL est un impératif pour l'analyste de données qui doit contamment récupérer des données. Dans cette formation, vous apprendrez les bases de SQL et ses fonctionnalités avancées pour l'analyse de données.

Créer la structure de la table

drop table if exists public.rech_combined_kpi;
create table public.rech_combined_kpi
(
    dt                date,
    level             varchar(15),
    product_code     varchar(50),
    product_category varchar(50),
    quantity               int4,
    amount          numeric,
    active_1d         integer,
    active_7d         integer,
    active_30d        integer,
    active_90d        integer,
    active_mtd        integer,
    load_datetime     timestamp default now() not null
) with (appendonly = true, orientation = column, compresstype = zlib, compresslevel = 5)
    distributed by (product_code);
grant all privileges on public.rech_combined_kpi to edw_togo_analysts;

Créer l'ETL SQL

CREATE OR REPLACE FUNCTION public.fn_rech_combined_kpi(rundt date) RETURNS varchar
    LANGUAGE plpgsql
AS
$$
begin
    -- DEBUG --
    raise notice 'rundt : %', rundt;

    --- EXTRACT ---
    raise info 'EXTRACT';
    drop table if exists public.tmp_rech_combined_kpi_avant;
    create table public.tmp_rech_combined_kpi_avant as (
        select *
        from stagging.fct_sales sck
        where dt = rundt
    ) distributed by (client_id);

    --- TRANSFORM ---
    raise info 'EXTRACT';

    --- LOAD ---
    raise info 'OUTPUT';
    delete from public.rech_combined_kpi where mth = _dt1;
    insert into public.rech_combined_kpi (

    );

    --- FREE SPACE ---
    drop table if exists public.tmp_rech_combined_kpi_avant;
    drop table if exists public.tmp_rech_combined_kpi_apres;

    return 'Y';
end ;
$$;

Partagez sur les réseaux sociaux

Commentaires