《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 ...
随机推荐
- dialog弹层的方式
1 增加一个层<div class="dialogLayer"></div>, 要不就利用伪元素 ::before 2 利用box-shadow: 0 0 ...
- PHP获取远程网站的服务器时间
<?php function get_time($server){ $data = "HEAD / HTTP/1.1\r\n"; $data .= "Host: ...
- ExtJS笔记 Ext.Loader
Ext.Loader is the heart of the new dynamic dependency loading capability in Ext JS 4+. It is most co ...
- NEC学习 ---- 布局 -三列,左侧自适应
效果图: html代码: <div id="demo4"> <div class="g-bd4 f-cb"> <div class ...
- python随机服务器的双线出口ip发送邮件
#-*- coding:utf-8 -*-import smtplibimport sysimport random import socketfrom email.mime.text import ...
- Android如何连接MySQL数据库
Android开发中,大多数连接到远程MySQL数据库的方法是加入特定的Service到代码中.由于MySQL通常是和PHP一起使用的,最简单以及最常见的方法是写PHP脚本管理数据连接,以及从Andr ...
- 关于int,long,long long
偶然的,我同学给我发了一个面试题:long 占多少字节 对于这个问题我也不好多说,有时候可能会想的比较多,这个题也需要多想一下 <1>在16位机器上,int 2字节, long 4字节, ...
- IOS 单例模式的写法
iOS的单例模式有两种官方写法,如下: 1)不使用GCD的方式 #import "Manager.h" static Manager *manager; @implementati ...
- 盒模型--padding
突然增加padding会使盒子变大,所以要按实际情况做调整. 没有写padding的时候: <style>div{ background:gray;}</style></ ...
- LeetCode Shortest Distance from All Buildings
原题链接在这里:https://leetcode.com/problems/shortest-distance-from-all-buildings/ 题目: You want to build a ...