Pour ce faire, vous allez
- identifiez les besoins de reporting et d'analyse avec l'équipe BI
- comprendre la structure des données source disponibles
- concevoir un modèle de données et créer les tables
- créer un ETL/pipeline pour l'ingestion de données

Résultat Attendu
- Un entrepôt de données fonctionnel avec un modèle en étoile.
- La capacité pour l’équipe BI de générer des rapports et des tableaux de bord.
- Une documentation claire des processus et du modèle.
Créer la structure de la table#
drop table if exists public.sales_combined_kpi;
create table public.sales_combined_kpi
(
dt date,
level varchar(15),
product_code varchar(50),
product_category varchar(50),
quantity int4,
amount numeric,
cust_1d integer,
cust_7d integer,
cust_30d integer,
cust_90d integer,
cust_mtd integer,
load_datetime timestamp default now() not null
);
grant select on public.sales_combined_kpi to analysts;
Créer l'ETL SQL#
CREATE OR REPLACE FUNCTION public.fn_sales_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_sales_combined_kpi_avant;
create table public.tmp_sales_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.sales_combined_kpi where mth = _dt1;
insert into public.sales_combined_kpi (
);
--- FREE SPACE ---
drop table if exists public.tmp_sales_combined_kpi_avant;
drop table if exists public.tmp_sales_combined_kpi_apres;
return 'Y';
end ;
$$;
Commentaires