《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
《BI项目笔记》基于雪花模型的维度设计的更多相关文章
- 微软BI 之SSAS 系列 - 基于雪花模型的维度设计
基于雪花模型的维度以下面的 Product 产品与产品子类别,产品类别为例. DimProduct 表和 DimProductSubcategory 表有外键关系,而 DimProductSubcat ...
- 《BI项目笔记》——微软BI项目笔记连载
本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的SSAS.SSIS模块: 准备工作: <BI项目笔记>基于雪 ...
- 《BI项目笔记》创建时间维度(2)
创建步骤: 序号 选择的属性 重命名后的名称 属性类别 1 DateKey DateKey 常规 2 Month Key Month Key 月份 3 English Month Name Eng ...
- 《BI项目笔记》增量ETL数据抽取的策略及方法
增量抽取 增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据.在ETL使用过程中.增量抽取较全量抽取应用更广.如何捕获变化的数据是增量抽取的关键.对捕获方法一般有两点要求:准确性,能够将 ...
- 《BI项目笔记》创建时间维度(1)
SSAS Date 维度基本上在所有的 Cube 设计过程中都存在,很难见到没有时间维度的 OLAP 数据库.但是根据不同的项目需求, Date 维度的设计可能不大相同,所以在设计时间维度的时候需要搞 ...
- 《BI项目笔记》创建父子维度
创建步骤: 而ParentOriginID其实就是对应的ParentOriginID,它的 Usage 必须是 Parent 才能表示这样的一个父子维度. 查看OriginID属性, Usage 是 ...
- 《BI项目笔记》创建标准维度、维度自定义层次结构
- 《BI项目笔记》报到信息分析Cube
数据源设置:数据处理逻辑: --处理丢失外键关系数据 SELECT * FROM T_ReportLeafGrade WHERE FSubFID NOT IN ( SELECT FID FROM T_ ...
- 《BI项目笔记》挑选产出分析Cube
数据源设置: 数据处理逻辑: --I_GBGradeID SELECT * FROM T_NPick_PkgMov WHERE I_GBGradeID NOT IN ( SELECT I_GBGrad ...
随机推荐
- Ogre代码学习之1——Ogre中地形lod的基础:deltaHeight的计算
Ogre的地形系统中的重要概念:高度差,英文HeightDeltas,表示某个完整细节中的顶点,在某个它被隐去的lod中被插值之后的高度和原始高度(即高度图中的高度)之差. DeltaHeight = ...
- PHP数据运算优先级总结记忆
运算符优先级
- Summary of Mac Versions
1.在 submit 的过程被 cancel 掉,可能会出现某些文件被 lock 住导致没办法再重新 update and commit. 解决方法: a) Memu."Action&quo ...
- sql 在not in 子查询有null值情况下经常出现的陷阱
如果下:TempSalesPriceFixedValues表和SalesPriceFixedValues表,要求查询出在TempSalesPriceFixedValues表中且不在SalesPrice ...
- LeetCode 3Sum Smaller
原题链接在这里:https://leetcode.com/problems/3sum-smaller/ 题目: Given an array of n integers nums and a targ ...
- LeetCode Walls and Gates
原题链接在这里:https://leetcode.com/problems/walls-and-gates/ 题目: You are given a m x n 2D grid initialized ...
- sql操作之修改记录值
mysql修改.删除数据记录 用update修改记录 UPDATE tbl_name SET 要更改的列 WHERE 要更新的记录 这里的 WHERE 子句是可选的,因此如果不指定的话,表中的每个记录 ...
- iOS小技巧3
将颜色合成图片 将颜色合成图片 +(UIImage *)imageWithColor:(UIColor *)color { CGRect rect = CGRectMake(0.0f, 0.0f, 1 ...
- OWASP WEB会话管理备忘单 阅读笔记
https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Session_ID_Properties 会话简介 HTTP是一种无状态 ...
- Centos7中源码安装Nodejs
Step 1.确认服务器有nodejs编译及依赖相关软件,如果没有可通过运行以下命令安装. [root@BobServerStation local]# yum -y install gcc gcc- ...