Académique Documents
Professionnel Documents
Culture Documents
Dans cette partie, nous allons exposer le contenu du fichier de mapping entre la base de données
source « GOSALES » et la base de données destination « DWH_SALES ».
Entité: DIM_BRANCH
Désignation : Table des branches et des organisations des ventes
Mode d’alimentation: Insert / Update
Type
C de Colonne Table Règle
Nom de la colonne Description
lé donnée Source Mapping alimentation
s
Identifiant auto
BRANCH_ID PK INT
increment
[gosales].[BRANCH
BRANCH_CODE Code_Branche INT [BRANCH_CODE] A.[BRANCH_CODE]
]
NVARCH [gosales].[BRANCH
BRANCH_ADDRESS1 Adresse1_Branche [ADDRESS1] A.[ADDRESS1]
AR(40) ]
NVARCH [gosales].[BRANCH
BRANCH_ADDRESS2 Adresse2_Branche [ADDRESS2] A.[ADDRESS2]
AR(40) ]
NVARCH [gosales].[BRANCH
BRANCH_CITY Ville_Branche [CITY] A.[CITY]
AR(20) ]
[ORGANIZATION_ B.[ORGANIZATION_
BRANCH_ORGANIZATI Libellé_Organisation_ NVARCH [gosaleshr].[ORGA
NAME_FR] NAME_FR]
ON_NAME_FR Branche(FR) AR(60) NIZATION]
DATETIM
BRANCH_INSERT_DATE Audit_SSIS
E
BRANCH_UPDATE_DAT DATETIM
Audit_SSIS
E E
Entité: DIM_COUNTRY
Désignation : Table des pays et des régions
Mode d’alimentation: Insert / Update
FROM [gosales].[COUNTRY] A
INNER JOIN [gosales].[CURRENCY_LOOKUP] B
ON A.[COUNTRY_CODE] = B.[COUNTRY_CODE]
INNER JOIN [gosales].[SALES_REGION] C
ON A.[SALES_REGION_CODE]=C.[SALES_REGION_CODE]
Libellé_Genre_Ve
EMPLOYEE_GENDER NVARCHA [gosaleshr].[GENDER_L
ndeur [GENDER_EN] B.[GENDER_EN]
_EN R(15) OOKUP]
(EN)
Libellé_Genre_Ve
EMPLOYEE_GENDER NVARCHA [gosaleshr].[GENDER_L
ndeur [GENDER_FR] B.[GENDER_FR]
_FR R(15) OOKUP]
(FR)
Date
EMPLOYEE_DATE_H [gosaleshr].[EMPLOYEE A.[DATE_HIRED
d’embauche_Vend DATETIME [DATE_HIRED]
IRED ] ]
eur
EMPLOYEE_INSERT_
Audit_SSIS DATETIME
DATE
EMPLOYEE_UPDATE
Audit_SSIS DATETIME
_DATE
FROM [gosaleshr].[EMPLOYEE] A
INNER JOIN [gosaleshr].[GENDER_LOOKUP] B
ON A.[GENDER_CODE]=B.[GENDER_CODE]
Règle
Cl Type de Colonne
Nom de la colonne Description Table Mapping alimentat
é données Source
ion
Identifiant auto
ORDER_METHOD_ID PK INT
increment
Code_Méthode_Com [ORDER_METHOD_ [gosales].[ORDER_ME
ORDER_METHOD_CODE INT
mande CODE] THOD]
Libellé_Méthode_Co
NVARCHAR [ORDER_METHOD_ [gosales].[ORDER_ME
ORDER_METHOD_EN mmande
(30) EN] THOD]
(EN)
Libellé_Méthode_Co
NVARCHAR [ORDER_METHOD_ [gosales].[ORDER_ME
ORDER_METHOD_FR mmande
(30) FR] THOD]
(FR)
ORDER_METHOD_INSERT
Audit_SSIS DATETIME
_DATE
ORDER_METHOD_UPDAT
Audit_SSIS DATETIME
E_DATE
FROM [GOSALES].[gosales].[ORDER_METHOD]
Entité: DIM_PRODUCT
Désignation : Table des produits (Type, Ligne, Marque, Couleur, Taille)
Mode d’alimentation: Insert / Update
PRODUCT_UPDATE_D
Audit_SSIS DATETIME
ATE
Entité: DIM_PROMOTION
Désignation : Table des promotions
Mode d’alimentation: Insert / Update
PROMOTION_UPDATE_D DATETIM
Audit_SSIS
ATE E
FROM [GOSALES].[gosalesmr].[PROMOTIONS] A
INNER JOIN [gosalesmr].[PROMOTION_CAMPAIGN] B
ON A.[CAMPAIGN_CODE]= B.[CAMPAIGN_CODE]
INNER JOIN [gosalesmr].[PROMOTION_BUNDLE_GROUP] C
ON A.[BUNDLE_GROUP_CODE]=C.[BUNDLE_GROUP_CODE]
Tableau 6 : Mapping DIM_PROMOTION
Entité: DIM_RETAILER_SITE
Désignation : Table des sites détaillants, détaillants et types détaillants
Mode d’alimentation: Insert / Update
Type
Descri C de Colonne Règle
Nom de la colonne Table Mapping
ption lé donnée Source alimentation
s
Identifiant
RETAILER_SITE_ID auto PK INT
increment
Code du
[RETAILER_SITE_C [gosalesrt].[RETAILER_SI A.[RETAILER_SITE_C
RETAILER_SITE_CODE site de INT
ODE] TE] ODE]
détaillant
Adresse1
RETAILER_SITE_ADDRESS NVARCH [gosalesrt].[RETAILER_SI
du site de [RTL_ADDRESS1] A.[RTL_ADDRESS1]
1 AR(40) TE]
détaillant
Adresse2
RETAILER_SITE_ADDRESS NVARCH [gosalesrt].[RETAILER_SI
du site de [RTL_ADDRESS2] A.[RTL_ADDRESS2]
2 AR(40) TE]
détaillant
Ville du
NVARCH [RTL_CITY] [gosalesrt].[RETAILER_SI A.[RTL_CITY]
RETAILER_SITE_CITY site de
AR(30) TE]
détaillant
Etat de
provenanc A.[RTL_PROV_STATE
RETAILER_SITE_PROV_ST NVARCH [RTL_PROV_STATE] [gosalesrt].[RETAILER_SI
e du site ]
ATE AR(30) TE]
de
détaillant
Zone
RETAILER_SITE_POSTAL_ postale du NVARCH [RTL_POSTAL_ZON [gosalesrt].[RETAILER_SI A.[RTL_POSTAL_ZON
ZONE site de AR(10) E] TE] E]
détaillant
Code du
RETAILER_SITE_COUNTR pays du [RTL_COUNTRY_CO [gosalesrt].[RETAILER_SI A.[RTL_COUNTRY_C
INT
Y_CODE site de DE] TE] ODE]
détaillant
Date de
RETAILER_SITE_START_D début du DATETIM [RETAILER_SITE_ST [gosalesrt].[RETAILER_SI A.[RETAILER_SITE_S
ATE site de E ART_DATE] TE] TART_DATE]
détaillant
Code
d’état
RETAILER_SITE_ACTIVIT [RTL_ACTIVITY_ST [gosalesrt].[RETAILER_SI A.[RTL_ACTIVITY_ST
d’activité TINYINT
Y_STATUS_CODE ATUS_CODE] TE] ATUS_CODE]
du site de
détaillant
Libellé
d’état
[ACTIVITY_STATUS B.[ACTIVITY_STATU
RETAILER_SITE_ACTIVIT d’activité NVARCH [gosalesrt].[ACTIVITY_ST
_EN] S_EN]
Y_STATUS_EN du site de AR(20) ATUS_LOOKUP]
détaillant(
EN)
Libellé
d’état
RETAILER_SITE_ACTIVIT d’activité NVARCH [ACTIVITY_STATUS [gosalesrt].[ACTIVITY_ST B.[ACTIVITY_STATU
Y_STATUS_FR du site de AR(20) _FR] ATUS_LOOKUP] S_FR]
détaillant(
FR)
Code du [RETAILER_CODE] [gosalesrt].[RETAILER_SI A.[RETAILER_CODE]
RETAILER_CODE INT
détaillant TE]
Libellé du NVARCH
RETAILER_NAME [COMPANY_NAME] [gosalesrt].[RETAILER] C.[COMPANY_NAME]
détaillant AR(50)
Date de
DATETIM [RETAILER_START_ C.[RETAILER_START
RETAILER_START_DATE début du [gosalesrt].[RETAILER]
E DATE] _DATE]
détaillant
Code de
[RETAILER_TYPE_C C.[RETAILER_TYPE_
RETAILER_TYPE_CODE type de INT [gosalesrt].[RETAILER]
ODE] CODE]
détaillant
Libellé de
type de NVARCH [gosalesrt].[RETAILER_TY
RETAILER_TYPE_EN [TYPE_NAME_EN] D.[TYPE_NAME_EN]
détaillant( AR(35) PE]
EN)
Libellé de
type de NVARCH [TYPE_NAME_FR] [gosalesrt].[RETAILER_TY D.[TYPE_NAME_FR]
RETAILER_TYPE_FR
détaillant( AR(35) PE]
FR)
RETAILER_SITE_INSERT_ Audit_SSI DATETIM
DATE S E
RETAILER_SITE Audit_SSI DATETIM
_UPDATE_DATE S E
FROM [gosalesrt].[RETAILER_SITE] A
INNER JOIN [gosalesrt].[ACTIVITY_STATUS_LOOKUP] B
ON A.[RTL_ACTIVITY_STATUS_CODE]=B.[ACTIVITY_STATUS_CODE]
Entité: DIM_TIME
Désignation : Table Temps
Mode d’alimentation: Truncate / Insert
Règle
Nom de la Descripti Cl Type de Colonne
Table Mapping alimentati
colonne on é données Source
on
Identifiant
TIME_ID auto PK INT [DAY_KEY] [gosales].[TIME_DIMENSION]
increment
TIME_DATE Date DATETIME [DAY_DATE] [gosales].[TIME_DIMENSION]
[CURRENT_YEAR
TIME_YEAR Année SMALLINT ] [gosales].[TIME_DIMENSION]
Identifiant de
TIME_QUARTER_ID
trimestre
INT [QUARTER_KEY] [gosales].[TIME_DIMENSION]
[CURRENT_QUAR
TIME_QUARTER_NU Numéro de
MBER trimestre
SMALLINT TER] [gosales].[TIME_DIMENSION]
Libellé de
TIME_QUARTER_NA NVARCHAR [gosales].[TIME_QUARTER_L
trimestre [QUARTER_EN]
ME_EN (20) OOKUP]
(EN)
Libellé de
TIME_QUARTER_NA NVARCHAR [gosales].[TIME_QUARTER_L
trimestre [QUARTER_FR]
ME_FR (20) OOKUP]
(FR)
Identifiant du
TIME_MONTH_ID
mois
INT [MONTH_KEY] [gosales].[TIME_DIMENSION]
Numéro du [DAY_OF_MONTH
TIME_DAY_NUMBER
jour
SMALLINT
]
[gosales].[TIME_DIMENSION]
Libellé du
NVARCHAR
TIME_DAY_NAME_EN jour
(20)
[WEEKDAY_EN] [gosales].[TIME_DIMENSION]
(EN)
Libellé du
NVARCHAR
TIME_DAY_NAME_FR jour
(20)
[WEEKDAY_FR] [gosales].[TIME_DIMENSION]
(FR)
FROM [GOSALES].[gosales].[TIME_DIMENSION] A
INNER JOIN [gosales].[TIME_QUARTER_LOOKUP] B
ON A.[QUARTER_KEY]=B.[QUARTER_KEY]
Entité: FACT_SALES
Désignation : Table de fait des ventes.
Mode d’alimentation: Insert/Update
Descripti Type de
Nom de la colonne Clé Colonne source Table Mapping Règle alimentation
on données
Id
ORDER_ID PK INT
Technique
Id date PK ,F B.[ORDER_DATE] //
ORDER_DAY_ID INT
commande K LKP_DIM_DIME
B.[SALES_BRANCH_C
PK,F
BRANCH_ID Id branche INT ODE] //
K
LKP_DIM_BRANCH
B.[SALES_STAFF_COD
PK,F E] //
EMPLOYEE_ID Id vendeur INT
K
LKP_DIM_EMPLOYEE
B.[RETAILER_SITE_C
Id site PK ,F ODE] //
RETAILER_SITE_ID INT
détaillant K LKP_DIM_RETAILER_
SITE
A.[PRODUCT_NUMBE
PK,F
PRODUCT_ID Id produit INT R] //
K
LKP_DIM_PRODUCT
A.[PROMOTION_CODE
Id PK,F ]//
PROMOTION_ID INT
promotion K LKP_DIM_PROMOTIO
N
B.[ORDER_METHOD_
Id méthode PK,F CODE] //
ORDER_METHOD_ID INT
commande K LKP_DIM_ORDER_ME
THOD
Id date
d’expéditio [gosales].[ORDER_DET
SHIP_DAY_ID INT [SHIP_DATE] A. [SHIP_DATE]
n AILS]
commande
Id date de B.
[ORDER_CLOSE_D [gosales].[ORDER_HEA
CLOSE_DAY_ID fermeture INT [ORDER_CLOSE_DATE
ATE] DER]
commande ]
[gosales].[ORDER_DET
QUANTITY Quantité BIGINT [QUANTITY] A.[QUANTITY]
AILS]
Prix de
DECIMAL(1 [UNIT_SALE_PRICE [gosales].[ORDER_DET
UNIT_SALE_PRICE vente A.[UNIT_SALE_PRICE]
9,2) ] AILS]
unitaire
Marge
GROSS_MARGIN FLOAT
brute
Vente DECIMAL(1
SALE_TOTAL
totale 9,2)
Bénéfice DECIMAL(1
GROSS_PROFIT
brut 9,2)
SALES_FACT_INSERT_ Audit_SSI
DATETIME
DATE S
SALES_FACT_UPDATE_ Audit_SSI
DATETIME
DATE S
Requête : SELECT
A.[ORDER_DETAIL_CODE] AS SALES_ORDER_CODE
--,A.[ORDER_NUMBER] AS ORDER_CODE
,A.[PRODUCT_NUMBER] AS PRODUCT_CODE
,A.[PROMOTION_CODE] AS PROMOTION_CODE
,B.[ORDER_DATE] AS ORDER_DATE
,B.[RETAILER_SITE_CODE] AS RETAILER_SITE_CODE
,B.[SALES_BRANCH_CODE] AS BRANCH_CODE
,B.[ORDER_METHOD_CODE] AS ORDER_METHOD_CODE
,B.[SALES_STAFF_CODE] AS EMPLOYEE_CODE
,A.[QUANTITY]
,A.[UNIT_COST]
,A.[UNIT_PRICE]
,A.[UNIT_SALE_PRICE]
, cast((case when ([QUANTITY]* [UNIT_SALE_PRICE] )= 0 then null else ( (([QUANTITY]* [UNIT_SALE_PRICE])- ([QUANTITY]*
[UNIT_COST])) / ([QUANTITY]* [UNIT_SALE_PRICE] )) END) as float) AS [GROSS_MARGIN]
FROM [GOSALES].[gosales].[ORDER_DETAILS] A
ON A.[ORDER_NUMBER]=B.[ORDER_NUMBER]
ORDER BY ORDER_DETAIL_CODE,ORDER_DATE
Entité: FACT_SALES_TARG
Désignation : Table de fait des ventes objectif.
Mode d’alimentation: Insert/Update
Descript Type de
Nom de la colonne Clé Colonne source Table Mapping Règle alimentation
ion données
Id
[SALES_YEAR]+[SALES [gosales].[SALES_T
MONTH_ID Techniqu PK INT
_PERIOD] ARGET]
e
Q.[
PK, COUNTRY_CODE_RE
COUNTRY_ID Id country INT
FK TAILER] //
LKP_DIM_COUNTRY
Q.[SALES_STAFF_CO
DE] //
Id PK,
EMPLOYEE_ID INT
vendeur FK
LKP_DIM_EMPLOYE
E
Code [gosales].[SALES_T
RETAILER_CODE PK INT [RETAILER_CODE]
détaillant ARGET]
Code type [PRODUCT_TYPE_CODE [gosales].[SALES_T
PRODUCT_TYPE_CODE PK INT
produit ] ARGET]
Code
[PRODUCT_BRAND_CO [gosales].[SALES_T
PRODUCT_BRAND_CODE marque PK INT
DE] ARGET]
produit
DECIMAL( [gosales].[SALES_T
SALES_TARGET Quantité [SALES_TARGET]
19,2) ARGET]
SALES_FACT_TARG_INSE Audit_SS
DATETIME
RT_DATE IS
SALES_FACT_TARG_UPD Audit_SS
DATETIME
ATE_DATE IS
Requête : SELECT
[SALES_YEAR]*100+[SALES_PERIOD] AS MONTH_ID
,[COUNTRY_CODE_RETAILER]
,[SALES_STAFF_CODE]
,[RETAILER_CODE]
,[PRODUCT_TYPE_CODE]
,[PRODUCT_BRAND_CODE]
,[SALES_TARGET]
FROM [GOSALES].[gosales].[SALES_TARGET]