代码改变世界

随笔分类 -  12 - 数据仓库

数据仓库设计小知识之一个属性的维度设计

2015-07-22 11:40 by BIWORK, 4574 阅读, 收藏, 编辑
摘要: 我们通常在数据仓库的设计中碰到这种问题:在维度设计中如果这个维度只有一个属性,那我们面临的选择是为这个属性单独创建一个维度,还是将这个维度的属性直接放在事实表中作为事实表的一部分?假设这里有一个维度,通常在设计上至少会有两列(DimKey 和 DimAttribute 属性),事实表通过 DimKe... 阅读全文

Microsoft 家族新成员 Datazen 移动BI 介绍

2015-05-25 10:10 by BIWORK, 8386 阅读, 收藏, 编辑
摘要: 开篇介绍Microsoft 在上个月即 2015年4月份收购了 Datazen www.datazen.com, Datazen 专注于移动 BI 和数据可视化领域,并且它的基本部署与配置架构都是基于 Microsoft SQL Server 的,这也是微软考虑收购 Datazen 的一个非常重要的... 阅读全文

如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

2014-02-19 02:00 by BIWORK, 13862 阅读, 收藏, 编辑
摘要: 一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整。因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑。因此,我选择我觉得比较通用的 LOG 部分,在这里分享一下给大家,希望对大家在设计 ETL 的日志系统时有所启发和帮助。当然在这里要区分... 阅读全文

一般数据库增量数据处理和数据仓库增量数据处理的几种策略

2013-11-27 17:30 by BIWORK, 22456 阅读, 收藏, 编辑
摘要: 开篇介绍通常在数据量较少的情况下,我们从一个数据源将全部数据加载到目标数据库的时候可以采取的策略可以是:先将目标数据库的数据全部清空掉,然后全部重新从数据源加载进来。这是一个最简单并且最直观的并且不容易出错的一种解决方案,但是在很多时候会带来性能上的问题。如果我们的数据源来自于不同的业务系统,数据动... 阅读全文

数据仓库系列 - 缓慢渐变维度 (Slowly Changing Dimension) 常见的三种类型及原型设计

2013-10-11 16:38 by BIWORK, 21511 阅读, 收藏, 编辑
摘要: 开篇介绍在从OLTP业务数据库向DW数据仓库抽取数据的过程中,特别是第一次导入之后的每一次增量抽取往往会遇到这样的问题:业务数据库中的一些数据发生了更改,到底要不要将这些变化也反映到数据仓库中?在数据仓库中,哪些数据应该随之变化,哪些可以不用变化?考虑到这些变化,在数据仓库中的维度表又应该如何设计以... 阅读全文

BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)

2013-09-18 18:25 by BIWORK, 38444 阅读, 收藏, 编辑

微软 BI ETL 架构设计

  1. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架
  2. 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数

 

微软 BI SSIS 系列

  1. 微软BI 之SSIS 系列 - 在 SSIS 中读取 SharePoint List
  2. 微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package
  3. 微软BI 之SSIS 系列 - Lookup 组件的使用与它的几种缓存模式 - Full Cache, Partial Cache, NO Cache
  4. 微软BI 之SSIS 系列 - Merge, Merge Join, Union All 合并组件的使用以及Sort 排序组件同步异步的问题
  5. 微软BI 之SSIS 系列 - 在 SSIS 中使用 Web Service 以及 XML 解析
  6. 微软BI 之SSIS 系列 - 使用 Multicast Task 将数据同时写入多个目标表,以及写入Audit 与增量处理信息
  7. 微软BI 之SSIS 系列 - 理解Data Flow Task 中的同步与异步, 阻塞,半阻塞和全阻塞以及Buffer 缓存概念
  8. 微软BI 之SSIS 系列 - 通过设置 CheckPoints 检查点来增强 SSIS Package 流程的重用性
  9. 微软BI 之SSIS 系列 - 数据仓库中实现 Slowly Changing Dimension 缓慢渐变维度的三种方式
  10. 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法
  11. 微软BI 之SSIS 系列 - 变量查询语句引起列输出顺序不一致的解决方法
  12. 微软BI 之SSIS 系列 - 通过 OLE DB 连接访问 Excel 2013 以及对不同 Sheet 页的数据处理
  13. 微软BI 之SSIS 系列 - 在 SSIS 输出平面文件时根据运行日期生成不同的文件名称
  14. 微软BI 之SSIS 系列 - 通过 ROW_NUMBER 或 Script Component 为数据流输出添加行号的方法
  15. 微软BI 之SSIS 系列 - 在 SSIS 中将指定目录下的所有文件分类输出到不同文件夹
  16. 微软BI 之SSIS 系列 - 导出数据到 Excel 2013 的实现
  17. 微软BI 之SSIS 系列 - 平面文件格式的区别(Delimited,Fixed width,Ragged Right, Fixed width ...)
  18. 微软BI 之SSIS 系列 - Lookup 中的字符串比较大小写处理 Case Sensitive or Insensitive
  19. 微软BI 之SSIS 系列 - 对于平面文件中 NULL 值处理过程中容易极易混淆的几个细节
  20. 微软BI 之SSIS 系列 - 带有 Header 和 Trailer 的不规则的平面文件输出处理技巧
  21. 微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧
  22. 微软BI 之SSIS 系列 - XML Task 中XSLT 样式表转换错误记录
  23. 微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件
  24. 微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug
  25. 微软BI 之SSIS 系列 - Precedence Constraint 详解优先约束的使用
  26. 微软BI 之SSIS 系列 - 使用 Script Component Destination 和 ADO.NET 解析不规则文件并插入数据
  27. 微软BI 之SSIS 系列 - 在 SSIS 中导入 ACCESS 数据库中的数据
  28. 微软BI 之SSIS 系列 - 在 SQL 和 SSIS 中实现行转列的 PIVOT 透视操作
  29. 微软BI 之SSIS 系列 - 2008 版本中变量 Int64 无法保存 bigint 类型数据的BUG
  30. 微软BI 之SSIS 系列 - ETL 转换时关于 Code Page (1252 and 936) 转换错误的原因和解决方法
  31. 微软BI 之SSIS 系列 - 再谈Lookup 缓存
  32. 微软BI 之SSIS 系列 - 使用 SQL Profilling Task (数据探测) 检测数据源数据

 

微软 BI 其它文章

  1. 容易遗忘的一些小代码之 Merge Operation and Output Clause
  2. 容易遗忘的一些小代码之 PIVOT 和 UNPIVOT
  3. SSIS 小脚本 - 文件路径验证
  4. SSIS 小脚本 - 时间参数验证
  5. 在 Visual Studio 2012 开发 SSIS,SSAS,SSRS BI 项目

 

分享与下载

  1. 微软产品下载大全(操作系统,SQL SERVER,Office)http://www.itellyou.cn/
  2. 微软示例数据库下载  Microsoft Demo Database Download
  3. 微软 DEMO  下载     Microsoft Demo Download
  4. SQL SERVER 2012 下载(英文版)百度云共享   链接:http://pan.baidu.com/s/1jGf23kE    密码:uu8w 
  5. SQL SERVER 2014 下载(英文版)百度云共享   链接:http://pan.baidu.com/s/1c0zr8mW  密码:9h6g
  6. 900 余页19万余字的 《2015年BI系列技术博文与问答精选年刊》 PDF版本,本博客均收录在其中,具体可以访问 http://www.flybi.net/article/336 

IT 杂记

(2013年-2014年)

  1. IT 外包中的甲方乙方,德国人,美国人,印度人和日本人印象杂谈
  2. 有感于三个50岁的美国程序员的生活状态与IT职业杂想 

BIWORK 企业级应用 BI 框架系列

(2013年-2014年)

  1. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架 
  2. 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数

 移动 BI Datazen

 ( 2015年 )

  1. Microsoft 家族新成员 Datazen 移动BI 介绍 

 数据仓库系列

(2013年-2014年)

  1. 数据仓库系列 - 缓慢渐变维度 (Slowly Changing Dimension) 常见的三种类型及原型设计
  2. 一般数据库增量数据处理和数据仓库增量数据处理的几种策略

(2015年)

  1. 数据仓库设计小知识之一个属性的维度设计

改变传统思维的报表设计与制作 WIN8 Metro UI SSRS

(2013年-2014年)

  1. WIN8 Metro UI 风格下的微软报表开发与设计 Metro UI SSRS - BIWORK

SSIS 系列 - 常用操作

(2013年-2014年)

  1. 利用 SSIS 模板快速开发 SSIS Package
  2. 在 SSIS 中读取 SharePoint List
  3. 在 SSIS 中使用 Web Service 以及 XML 解析
  4. 变量查询语句引起列输出顺序不一致的解决方法
  5. 通过设置 CheckPoints 检查点来增强 SSIS Package 流程的重用性
  6. 通过 ROW_NUMBER 或 Script Component 为数据流输出添加行号的方法
  7. 使用 Multicast Task 将数据同时写入多个目标表,以及写入Audit 与增量处理信息
  8. Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧
  9. 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件
  10. MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug

(2015)

  1. 在 SQL 和 SSIS 中实现行转列的 PIVOT 透视操作
  2. 2008 版本中变量 Int64 无法保存 bigint 类型数据的BUG
  3. ETL 转换时关于 Code Page (1252 and 936) 转换错误的原因和解决方法
  4. 再谈Lookup 缓存
  5. 使用 SQL Profilling Task (数据探测) 检测数据源数据

SSIS 系列 - 文件处理

(2013年-2014年)

  1. 通过 OLE DB 连接访问 Excel 2013 以及对不同 Sheet 页的数据处理
  2. 导出数据到 Excel 2013 的实现
  3. 平面文件格式的区别(Delimited,Fixed width,Ragged Right, Fixed width ...)
  4. 在 SSIS 输出平面文件时根据运行日期生成不同的文件名称
  5. 在 SSIS 中将指定目录下的所有文件分类输出到不同文件夹
  6. 两种将 SQL Server 数据库数据输出成 XML 文件的方法
  7. 对于平面文件中 NULL 值处理过程中容易极易混淆的几个细节
  8. 带有 Header 和 Trailer 的不规则的平面文件输出处理技巧
  9. XML Task 中XSLT 样式表转换错误记录

SSIS 系列 - 高级组件概念分析

(2013年-2014年)

  1. 数据仓库中实现 Slowly Changing Dimension 缓慢渐变维度的三种方式
  2. Lookup 组件的使用与它的几种缓存模式 - Full Cache, Partial Cache, NO Cache
  3. Merge, Merge Join, Union All 合并组件的使用以及Sort 排序组件同步异步的问题
  4. 理解Data Flow Task 中的同步与异步, 阻塞,半阻塞和全阻塞以及Buffer 缓存概念
  5. Lookup 中的字符串比较大小写处理 Case Sensitive or Insensitive
  6. 使用 Script Component Destination 和 ADO.NET 解析不规则文件并插入数据

SSRS 系列

(2013年-2014年)

  1. 报表中分组聚合中处理不规则层次结构的技巧(没有子元素的时候不展开, 删除+符号)
  2. 报表邮件订阅中 SMTP 服务器匿名访问与 Windows验证, 以及如何成功订阅报表的实例
  3. 使用分组 Group 属性实现基于父子递归关系的汇总报表
  4. 如何实现报表导航 Navigation 和钻取 Drill Down 的效果
  5. 如何实现报表标签的本地化 - 中文和英文的互换
  6. 使用 LookupSet 和 Adjacent Group 等高级技巧在报表中跨 Dataset 分组查询
  7. 不显示 Pie Chart 饼图上 0% 的数据
  8. 使用文档结构导航报表元素 Document Map
  9. 如何让报表在一页显示,两种常用的技巧
  10. 解决Pie Chart 中控制标签外部显示与标签重叠的问题
  11. 实现 Excel 中图表结合的报表设计

(2015)

  1. 如何设置页标题重复
  2. 巧用 RunningValue 函数在分组中排序并设置 RANK 排名

SSRS + MDX 系列

(2013年-2014年)

  1. 使用带参数的 MDX 查询实现一个分组聚合功能的报表
  2. 基于时间段参数的 MDX 查询以及时间日历 Date Picker 的时间类型参数化
  3. 在 Cube 中通过 MDX 查询实现基于父子递归关系的汇总报表
  4. 如何在 MDX 查询中获取有效的 MEMBER 成员属性作为参数传递

SSAS Multidimensional 系列

(2013年-2014年)

  1. 在 SQL Server 2012 下查看 SSAS 分析服务的模型以及几个模型的简单介绍
  2. 在SQL Server 2012 中开发 Analysis Services Multidimensional Project
  3. 自定义的日期维度设计
  4. 基于雪花模型的维度设计
  5. 关于父子维度的设计
  6. 实现Cube 以及角色扮演维度,度量值格式化和计算成员的创建
  7. 多维数据集中度量值设计时的聚合函数 (累加性_半累加性和非累加性)
  8. 多维数据集维度用法之一 引用维度 Referenced Dimension
  9. 多维数据集维度用法之二 事实维度(退化维度 Degenerate Dimension)
  10. 多维数据集维度用法之三 多对多维度 Many to Many
  11. 维度的优化,灌木丛属性关系,以及自然层次结构与非自然层次结构的概念
  12. SQL Server 2012 中 SSAS 多维数据浏览器已经废除

SSAS Tabular 系列

(2013年-2014年)

  1. 使用 SQL Server 2012 Analysis Services Tabular Mode 表格建模 图文教程

MDX Step by Step 笔记系列

(2013年-2014年)

  1. (三) - Understanding Tuples (理解元组)
  2. (四) - Working with Sets (使用集合)
  3. (四) - Working with Sets (使用集合) - Limiting Set and Auto-Exists
  4. (四) - Working with Sets (使用集合) - 我对Exists 函数的理解
  5. (五) - Working with Expressions (MDX 表达式)
  6. (五) - Working with Expressions (MDX 表达式) - CurrentMember - Properties - Existing 的使用
  7. (五) - Working with Expressions (MDX 表达式) - Infinite Recursion 和 SOLVE_ORDER 原理解析
  8. (六) - Building Complex Sets (复杂集合的处理) - 集合的排序
  9. (六) - Building Complex Sets (复杂集合的处理) - TopCount - BottomCount -Head-Tail-Item 函数的使用
  10. (六) - Building Complex Sets (复杂集合的处理) -  Filtering Sets
  11. (六) - Building Complex Sets (复杂集合的处理) - Combining Sets
  12. (六) - Building Complex Sets (复杂集合的处理) - Generate 和 Extract 函数的使用 
  13. (七) - Performing Aggregation 聚合函数之 Sum, Aggregate, Avg
  14. (七) - Performing Aggregation 聚合函数之 Max, Min, Count , DistinctCount 以及其它 TopCount, Generate
  15. (八) - Navigating Hierarchies 层次结构导航
  16. (九) - Working with Time 处理时间
  17. MDX 查询原型

SQL Server 数据库系列

(2013年-2014年)

  1. 配置 SQL Server Email 发送以及 Job 的 Notification通知功能
  2. SQL Server Window Function 窗体函数读书笔记一 - SQL Windowing
  3. SQL Server Window Function 窗体函数读书笔记二 - A Detailed Look at Window Functions
  4. BIWORK 分区表阅读与实践笔记
  5. BIWORK 分区表滑动窗口阅读与实践笔记
  6. OBJECT_ID 有哪些种类
  7. Execution Plan 执行计划介绍
  8. SQL Server 中断开连接到指定数据库的所有连接
  9. SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因
  10. SQL Server - 使用 Merge 语句实现表数据之间的对比同步
  11. SQL Server - 把星期一(周一)当作每个星期的开始在一年中求取周数
  12. 数据库引擎 - 表和索引数据结构体系结构
  13. 数据库引擎 - 文件和文件组体系结构
  14. 数据库引擎 - 页和体系结构,页和区
  15. 索引 - 索引基础知识
  16. 索引 - 索引设计基础知识
  17. 索引 - 唯一索引设计指南
  18. 索引 - 非聚集索引设计指南
  19. 索引 - 聚集索引设计指南
  20. 索引 - 查询类型和索引
  21. 索引 - 索引排序顺序
  22. 索引 - 索引键的最大大小
  23. 索引 - 常规索引设计指南
  24. 索引 - 在文件组上放置索引
  25. 容易遗忘的一些小代码之 ROW_NUMBER 和去重
  26. 容易遗忘的一些小代码之 PIVOT 和 UNPIVOT
  27. 容易遗忘的一些小代码之 Merge Operation and Output Clause
  28. 容易遗忘的一些小代码之 Cross apply and Outer apply
  29. SQL SERVER 2012 中 SSAS 多维数据浏览器已经废除

(2015)

  1. SQL SERVER 2014 安装图解(含 SQL SERVER 2014 安装程序共享)

MDX Cookbook 札记列表 

(2013年-2014年)

  1. MDX Cookbook 01 - Skipping Axis 合理使用空的 SET 集合获取全部层次结构成员
  2. MDX Cookbook 02 - 除数为零的问题
  3. MDX Cookbook 03 - MDX 查询中负数,零和空值 NULL 的格式化处理
  4. MDX Cookbook 04 - 在集合中实现 NOT IN 逻辑 (Minus, Except, Filter 等符号和函数的使用)
  5. MDX Cookbook 05 - 条件过滤 FILTER-COUNT 与 SUM-IIF 实现
  6. MDX Cookbook 06 - GENERATE 循环遍历
  7. MDX Cookbook 07 - 在不同层次结构的成员中实现 逻辑 OR 的效果
  8. MDX Cookbook 08 - 基于集合上的迭代递归
  9. MDX Cookbook 09 - 同一个层级结构中的成员 AND 逻辑操作
  10. MDX Cookbook 10 - 计算 Year To Date 的 Running Total(YTD 与 PeriodsToDate 的区别)
  11. MDX Cookbook 11 - 计算 Year Over Year 增长 (同比计算) ParallelPeriod
  12. MDX Cookbook 12 - 计算 SMA 简单移动平均 LastPeriods() 函数的使用

提交给微软的 Bug 与产品改进记录 FEEDBACK SURVEYS

(2013年-2014年)

  1. 001 Feddback SSIS 2012 ReadOnlyVariables in Script Task doesn't work 
  2. 001 Post Is it a bug - SSIS 2012 ReadOnlyVariables in Script Task doesn't work

以下整理收藏自其它博客与文章,好文收藏

SQL Server 系列

  1. SQL函数说明大全 - (作者 - moss_tan_jun)
  2. 恢复SQLSERVER被误删除的数据 - (作者 - 桦仔)
  3. 解剖SQLSERVER 第一篇  数据库恢复软件商的黑幕 - (作者 - 桦仔)
  4. 存储过程变慢的原因
  5. SQL Server Performance

SSRS 系列

  1. 深入 SSRS 地图
  2. 有关 SSRS 报表的缓存
  3. Service Account 的介绍
  4. Service Account 的选择问题
  5. 关于 Execution Account 的介绍
  6. 本地 Report Server 权限的配置
  7. 有关角色权限的问题

SSIS 系列

  1. We Loaded 1TB in 30 Minutes with SSIS, and So Can You 
  2. What are the differences between Merge Join and Lookup transformations in SSIS?

SSAS 系列

  1. SSAS - Attribute Relationships
  2. Hierarchies in SSAS Multidimensional: What’s really happening up (or down) in there?
  3. SSAS - Defining Attribute Relationships in 2005 and 2008
  4. Processing Options and Settings 
  5. What happens when you do a Process Update on a dimension?
  6. What are the natural hierarchies and why they are a good thing 
  7. Different Kinds of SSAS Processing in simple words

微软技术圈

BI 技术

  1. Tomislav Piasevoli (MVP MDX Cookbook 作者)   
  2. Jason Tom Thomas (MDX,SSAS)   
  3. Charlie Liao (SSAS,MDX Moderator)    
  4. Elvis Long  (MDX,SSAS Moderator)
  5. 哥本哈士奇 (MVP, BI, 数据挖掘)
  6. ArthurZ (MVP,MCDBA, MCAD, MCTS and MCITP)
  7. Reza Raad (MVP, MCP, MCTS and MCI《Microsoft SQL Server 2012 Integration Services: An Expert Cookbook》作者)
  8. SSISJoost (MVP, SSIS)
  9. Visakh16 (MVP, SSIS,SSAS,SSRS)
  10. Bobby0322 (数据挖掘博客分享)

SQL Server 技术

  1. Carey Son (MVP) 
  2. 听风吹雨 (MVP) 
  3. 邀月工作室 (MVP,PMP)  
  4. 桦仔 (MVP)

其它收藏

英语学习

  1. 暴力英语学习法 + 严格的目标管理 = 成功快速靠谱的学好英语

创业

  1. 1号店创始人于刚:我用实践换来的十条创业箴言

如果觉得这个系列的文章看了对您有帮助,请点击下方帮助推荐。

点击右上角即可分享
微信分享提示