《BI项目笔记》基于雪花模型的维度设计

GBGradeCode

外键关系:

1

烟叶等级

T_GBGradeCode.I_DistinctionID=T_Distinction.I_DistinctionID

烟叶等级分为:上等烟、中等烟、下等烟、末等烟、低等烟、低次等烟、其它、下低等烟

2

分级标准

T_GBGradeCode.I_GradStanCode=T_GradeStandard.I_GradStanCode

取值为:四十二级、二十八级、自定义、其他、工艺级别

3

烟叶烤型

T_GBGradeCode.C_Type=T_TobaccoLeafType.C_Type

取值为:白肋烟、烤烟

QualityModel

外键关系:

T_TIR_QualityModelAdmin.F_OriginID = T_Origin.I_OriginID
T_TIR_QualityModelAdmin.F_CustomerCode = T_CustomInfo.T_CustomInfo
T_TIR_QualityModelAdmin.F_Tag = T_GBGradeCode.I_GBGradeID

数据处理:

ALTER TABLE T_TIR_QualityModelAdmin ALTER COLUMN F_CustomerCode VARCHAR(5)

DELETE  FROM T_TIR_QualityModelAdmin
WHERE   F_CustomerCode NOT IN ( SELECT  C_CustCode
                                FROM    T_CustomInfo )

DELETE  FROM T_TIR_QualityModelAdmin
WHERE   F_OriginID NOT IN ( SELECT  I_OriginID
                            FROM    T_Origin )              

UPDATE  T_TIR_QualityModelAdmin
SET     T_TIR_QualityModelAdmin.F_Tag = T_GBGradeCode.I_GBGradeID
FROM    T_GBGradeCode
WHERE   T_TIR_QualityModelAdmin.F_GradeCode = T_GBGradeCode.V_GBGradeCode

DELETE  FROM T_TIR_QualityModelAdmin
WHERE   T_TIR_QualityModelAdmin.F_Tag NOT IN ( SELECT   I_GBGradeID
                                               FROM     T_GBGradeCode )

ALTER TABLE T_Origin ALTER COLUMN I_OriginPID INT NULL

UPDATE  [T_Origin]
SET     [I_OriginPID] = NULL
WHERE   [I_OriginPID] = 0

QualMoistureMiddleRawChemistry

QualMoistureMiddle

数据处理:

ALTER TABLE T_TeamOrder ALTER COLUMN V_TeamOrderCode VARCHAR(10) NOT NULL
ALTER TABLE T_QualMoisture_Middle ADD DeptID INT NULL
ALTER TABLE T_QualMoisture_Middle ADD TeamOrderCode VARCHAR(10) NULL

UPDATE  T_QualMoisture_Middle
SET     DeptID = T_Department.I_DepID
FROM    T_Department
WHERE   T_QualMoisture_Middle.V_Team = T_Department.V_DepName

UPDATE  T_QualMoisture_Middle
SET     TeamOrderCode = T_TeamOrder.V_TeamOrderCode
FROM    T_TeamOrder
WHERE   T_QualMoisture_Middle.V_Team_Order = T_TeamOrder.V_TeamOrder

 RoastingPlan

数据处理:

ALTER TABLE TB_MRP_ROASTING_PLAN_DETAIL2 ADD ProdLineID VARCHAR(10) NULL
ALTER TABLE TB_MRP_ROASTING_PLAN_DETAIL2 ADD TLProcTypeID INT NULL
ALTER TABLE TB_MRP_ROASTING_PLAN_DETAIL2 ADD PurchaseID INT NULL
ALTER TABLE TB_MRP_ROASTING_PLAN_DETAIL2 ADD OriginID INT NULL
ALTER TABLE TB_MRP_ROASTING_PLAN_DETAIL2 ADD CustCode VARCHAR(5) NULL

-- 生产线
UPDATE  TB_MRP_ROASTING_PLAN_DETAIL2
SET     TB_MRP_ROASTING_PLAN_DETAIL2.ProdLineID = T_ManuProductLine.V_LineCode
FROM    T_ManuProductLine
WHERE   TB_MRP_ROASTING_PLAN_DETAIL2.COL_RPD_ROASTING_DEVICE = T_ManuProductLine.V_ProdLine

DELETE  FROM TB_MRP_ROASTING_PLAN_DETAIL2
WHERE   ProdLineID IS NULL

-- 加工类型
UPDATE  TB_MRP_ROASTING_PLAN_DETAIL2
SET     TB_MRP_ROASTING_PLAN_DETAIL2.TLProcTypeID = T_TLProcType.I_TLProcTypeCode
FROM    T_TLProcType
WHERE   TB_MRP_ROASTING_PLAN_DETAIL2.COL_RPD_MANUFACTURE_TYPE = T_TLProcType.V_TLProcType

DELETE  FROM TB_MRP_ROASTING_PLAN_DETAIL2
WHERE   TLProcTypeID IS NULL

-- 收购类型
UPDATE  TB_MRP_ROASTING_PLAN_DETAIL2
SET     TB_MRP_ROASTING_PLAN_DETAIL2.PurchaseID = T_PurchaseType.I_PurchaseID
FROM    T_PurchaseType
WHERE   TB_MRP_ROASTING_PLAN_DETAIL2.COL_RPD_FT_PURCHASE_TYPE = T_PurchaseType.V_PurchaseType

-- 成品产地 
UPDATE  TB_MRP_ROASTING_PLAN_DETAIL2
SET     TB_MRP_ROASTING_PLAN_DETAIL2.OriginID = T_Origin.I_OriginID
FROM    T_Origin
WHERE   TB_MRP_ROASTING_PLAN_DETAIL2.COL_RPD_RT_AREA = T_Origin.V_Origin

DELETE  FROM TB_MRP_ROASTING_PLAN_DETAIL2
WHERE   OriginID IS NULL

-- 客户
UPDATE  TB_MRP_ROASTING_PLAN_DETAIL2
SET     TB_MRP_ROASTING_PLAN_DETAIL2.CustCode = T_CustomInfo.C_CustCode
FROM    T_CustomInfo
WHERE   TB_MRP_ROASTING_PLAN_DETAIL2.COL_RPD_RT_OWNER = T_CustomInfo.V_Customer

DELETE  FROM TB_MRP_ROASTING_PLAN_DETAIL2
WHERE   CustCode IS NULL
原文地址:https://www.cnblogs.com/Bobby0322/p/4048947.html