基于雪花模型的维度以下面的 Product 产品与产品子类别,产品类别为例. DimProduct 表和 DimProductSubcategory 表有外键关系,而 DimProductSubcategory 表和 DimProductCategory 表存在外键关系. 测试的维度表与数据 - USE BIWORK_SSIS GO IF OBJECT_ID('DimProduct') IS NOT NULL DROP TABLE DimProduct GO IF OBJECT_ID('DimP…
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_To…
本系列文章主要是结合实际项目,加上自己的总结,整理出来的一系列项目笔记,涉及微软SQL Server2008中商务智能开发中的SSAS.SSIS模块:  准备工作: <BI项目笔记>基于雪花模型的维度设计 <BI项目笔记>数据源视图设置 <BI项目笔记>创建标准维度.维度自定义层次结构 <BI项目笔记>创建父子维度 <BI项目笔记>创建时间维度(1) <BI项目笔记>创建时间维度(2) <BI项目笔记>创建多维数据集Cub…
创建步骤:   序号 选择的属性 重命名后的名称 属性类别 1 DateKey DateKey 常规 2 Month Key Month Key 月份 3 English Month Name English Month Name 每年的某一月 4 Month Number Of Year Month Number Of Year 常规 5 Calendar Quarter Key Calendar Quarter Key 季度 6 Calendar Quarter Calendar Quart…
增量抽取 增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据.在ETL使用过程中.增量抽取较全量抽取应用更广.如何捕获变化的数据是增量抽取的关键.对捕获方法一般有两点要求:准确性,能够将业务系统中的变化数据按一定的频率准确地捕获到:性能,不能对业务系统造成太大的压力,影响现有业务.目前增量数据抽取中常用的捕获变化数据的方法有:a.触发器:在要抽取的表上建立需要的触发器,一般要建立插入.修改.删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线…
SSAS Date 维度基本上在所有的 Cube 设计过程中都存在,很难见到没有时间维度的 OLAP 数据库.但是根据不同的项目需求, Date 维度的设计可能不大相同,所以在设计时间维度的时候需要搞清楚几个问题: 你的业务涉及到的最低的细节级别是什么?比如按季度查看报表还是按月份,或者按周,或者再甚者按天.这个细节级别需要弄清楚,比如在一些销售数据统计,有的时候可能更多按季度或者按月来查看报表.但在有的监控一些机器运行数据的统计,可能会按照小时或者分钟来查看报表. 你的报表所需要时间显示的格式…
创建步骤: 而ParentOriginID其实就是对应的ParentOriginID,它的 Usage 必须是 Parent 才能表示这样的一个父子维度. 查看OriginID属性, Usage 是 Key. 在这里一定要注意,父子关系层次结构中的子级必须是维度的关键属性,所以OriginID这里的 Usage 必须是 Key . 并且要注意的是每一个维度有且只能有一个属性的 Usage 属性能够被设置为 Key.这里别混淆了维度属性和数据库字段(属性),作为维度属性中的 Key 有可能是由数据…
数据源设置:数据处理逻辑: --处理丢失外键关系数据 SELECT * FROM T_ReportLeafGrade WHERE FSubFID NOT IN ( SELECT FID FROM T_RaceLeafReport ) DELETE FROM T_ReportLeafGrade WHERE FSubFID NOT IN ( SELECT FID FROM T_RaceLeafReport ) --处理供应商关系 SELECT * FROM T_RaceLeafReport WHER…
数据源设置: 数据处理逻辑: --I_GBGradeID SELECT * FROM T_NPick_PkgMov WHERE I_GBGradeID NOT IN ( SELECT I_GBGradeID FROM T_GBGradeCode ) DELETE FROM T_NPick_PkgMov WHERE I_GBGradeID NOT IN ( SELECT I_GBGradeID FROM T_GBGradeCode ) --V_CustomerID SELECT * FROM T_…