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