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 ;
$$;