BIWORK 的微软 BI 博客

专注于微软BI的BIWORK,微软 SQL SERVER 2015年 MVP —— 人生如棋,我愿为卒,行动虽缓,可谁曾见我后退过!

31
推荐
6603
阅读

天善、创业、生活、跑步 - 我的2015和2016 by BIWORK

开篇语有很长的时间没有动笔写东西了,不是不想写,是平时没有时间静下心来写。看到社区中那么多的朋友都在动手写2015年的总结与2016年的展望了,作为天善智能的一员,我确实应该写,那就开始吧!这篇文章,我可能会写的很长,因为我不喜欢跳着写东西,要交代一些东西我的习惯就是尽量要交代的比较清晰。这篇文章会提到...

发表了文章 • 2016-02-03 01:46 • 31 条评论

14
推荐
7963
阅读

业务人员不知道如何提出 BI 需求,老板不重视 BI 项目怎么办?

问题背景问题来自天善智能社区 http://www.flybi.net/question/16627,正好上一个礼拜有一个朋友在微信中问过我类似的问题,但是一直没有回复这个朋友,正好一并回复。这位朋友的问题和这个差不多,大概背景是:目前公司对于 BI 项目也有了投入,BI 团队有两个人,主要是使用一些开源的 ETL 工具从不同的数据源中抽取数...

发表了文章 • 2016-01-14 16:21 • 11 条评论

2
推荐
5125
阅读

微软BI 之SSIS 系列 - 如何使用 SSIS 同步指定目录下各种文档的状态(英文版)

开篇介绍这篇文章是我在2012年5月份写在 Google Blog 上的一篇英文博客 http://simonlv.blogspot.com/2012/05/ssis-step-by-step.html ,当然这篇博客在国内其实是无法访问的。也忘记当时为什么要用英文写博客的原因了,大概齐当时可能正好在美国出差心里有那么点小九九,可能觉得把技术博客写牛一点以后到美国可能找个...

发表了文章 • 2015-10-08 00:57 • 0 条评论

0
推荐
3225
阅读

微软BI 之SSIS 系列 - SSIS 中 MySQL 时间和IP地址的转换查询

小笔记 MySQL 中关于时间和 IP 地址的存储都是使用 INT 类型的,因此在从 MYSQL 中抽取数据到 SQL SERVER 中的时候最好提前做好类型转换。在 MySQL 查询中,可以通过两个函数来完成类型转换:FROM_UNIXTIME()函数 —— 完成时间类型从 INT 类型到 DATETIME 的转换,例如在 MySQL 中的查询 - FROM_UNIXTIME(ADD_TIME) AS ...

发表了文章 • 2015-09-29 10:39 • 0 条评论

0
推荐
3253
阅读

微软BI 之SSIS 系列 - 文件路径验证

之前项目中经常有文件的读取或者输出操作,其中最重要的就是在处理文件输入/输出之前验证文件的路径是否存在,如果不存在就输出错误./* Microsoft SQL Server Integration Services Script Task Write scripts using Microsoft Visual C# 2008. The ScriptMain is the entry point class of the script. */ usi...

发表了文章 • 2015-09-28 11:42 • 0 条评论

0
推荐
3466
阅读

微软BI 之SSIS 系列 - 在 SSIS 中导入 ACCESS 数据库中的数据

开篇介绍来自 天善学院 一个学员的问题,如何在 SSIS 中导入 ACCESS 数据表中的数据。在 SSIS 中导入 ACCESS 数据库数据ACCESS 实际上是一个轻量级的桌面数据库,直接使用文件形式存储。在国内大量使用 ACCESS 作为 BI 数据源并不多,但是在国外特别是美国使用的还比较多,因为他们的 IT 基础起步比较早。在我的第...

发表了文章 • 2015-09-28 11:40 • 0 条评论

0
推荐
3989
阅读

MDX 系列 - GENERATE 循环遍历

有时候需要从集合中取出特定的成员但是又不能执行遍历操作,这个时候就可以使用 GENERATE 函数来解决这个问题。根据地区查询每年的销售额 -SELECT NON EMPTY { [Date].[Calendar].[Calendar Year].MEMBERS * [Measures].[Sales Amount]} ON 0, NON EMPTY { [Sales Territory].[Sales Territory Country].MEMBERS } ON 1 ...

发表了文章 • 2015-09-28 11:31 • 0 条评论

0
推荐
3464
阅读

MDX 系列 - 条件过滤 FILTER-COUNT 与 SUM-IIF 实现

下面的这个查询返回每个财月的 Customer Count 和 基于上个月比较的 Growth in Customer Base 的记录,Slicer 是 Mountain bikes。SELECT { [Measures].[Customer Count], [Measures].[Growth in Customer Base] } ON 0, NON EMPTY {[Date].[Fiscal].[Month].MEMBERS} ON 1 FROM [Advent...

发表了文章 • 2015-09-28 11:31 • 0 条评论

0
推荐
3011
阅读

MDX 系列 - 在集合中实现 NOT IN 逻辑 (Minus, Except, Filter 等符号和函数的使用)

有时需要从一些查询结果里排除掉一些成员,当然平常情况下可以通过 MDX 查询中的 WHERE 条件即 Slicer 切片来完成,同样的这里显示的是如何在切片中排除掉一些成员。先看这一个查询 -SELECT { [Measures].[Reseller Order Count] } ON 0, NON EMPTY {[Promotion].[Promotion].MEMBERS } DIMENSION PROPERTIES [Promotion...

发表了文章 • 2015-09-28 11:31 • 0 条评论

0
推荐
3891
阅读

MDX 系列 - MDX 查询原型

本篇文章记录 SBS 中 MDX 查询原型,可以根据这些查询原型来解决实际项目中的问题。1. 查询在 2004年1月2日 - 2004年3月1日之间购买过 Bikes 产品的用户。SELECT ([Product].[Category].[Bikes],[Measures].[Internet Sales Amount]) ON COLUMNS, NON EMPTY [Customer].[Customer].[Customer].MEMBERS ON ROWS FR...

发表了文章 • 2015-09-28 11:30 • 0 条评论

0
推荐
4226
阅读

MDX Step by Step 读书笔记(九) - Working with Time 处理时间

开篇介绍这一章节主要用到的 MDX 函数:PeriodsToDate( [Level , [Member]] ) - 从指定级别的范围内,返回与指定成员同一级别,从第一个期间开始到指定成员结束的期间集。Ytd( [Member] )Qtd( [Member] )Mtd( [Member] )Wtd( [Member] )LastPeriods( n [, Member] )  - 返回从比指定成员表达式滞后 n - 1...

发表了文章 • 2015-09-28 11:26 • 0 条评论

0
推荐
3596
阅读

MDX Step by Step 读书笔记(八) - Navigating Hierarchies 层次结构导航

开篇介绍本章主要内容包括:解释各种不同的 MDX 导航函数的使用: Parent, Children, FirstChild, LastChild, Siblings, FirstSibling, LastSibling, RANK通过导航函数定位层次结构中的成员: Ancestor, Ancestors, Ascendants, Decendants, Cousin在层次结构中估算成员的位置: PrevMember, NextMember, Lag, Lead分析服务...

发表了文章 • 2015-09-28 11:25 • 0 条评论

0
推荐
3707
阅读

MDX Step by Step 读书笔记(七) - Performing Aggregation 聚合函数之 Max, Min, Count , DistinctCount 以及其它 TopCount, Generate

MDX 中最大值和最小值MDX 中最大值和最小值函数的语法和之前看到的 Sum 以及 Aggregate 等聚合函数基本上是一样的:Max( {Set} [, Expression])Min( {Set} [, Expression])直接看例子,先查询出所有 Sub Category 下的 Reseller Sales Amount。 然后使用 MAX 函数查询出 Sub Category 下最大的 Reseller Sales Amou...

发表了文章 • 2015-09-28 11:23 • 1 条评论

0
推荐
3017
阅读

MDX Step by Step 读书笔记(七) - Performing Aggregation 聚合函数之 Sum, Aggregate, Avg

开篇介绍SSAS 分析服务中记录了大量的聚合值,这些聚合值在 Cube 中实际上指的就是度量值。一个给定的度量值可能聚合了来自事实表中上千上万甚至百万条数据,因此在设计阶段我们所能看到的度量实际上就已经应用了某些聚合函数来决定这个值怎样被聚合。当然有可能已有的度量值远远还不够,还需要在查询的时候继续从不同的...

发表了文章 • 2015-09-28 11:22 • 0 条评论

0
推荐
2942
阅读

MDX Step by Step 读书笔记(六) - Building Complex Sets (复杂集合的处理) - Generate 和 Extract 函数的使用

Performing Advanced Set ConstructionAssembling Sets with the Generate Function如果你对C#或者VB 等其它变成语言熟悉的话,应该对循环比较熟悉。在循环中,可以遍历集合里的每一个对象,在遍历的时候,对对象会执行一些操作。换一种方式来看MDX  SET中的元组就如同看集合中的对象,使用 SET集合的一些表达式来...

发表了文章 • 2015-09-28 11:21 • 0 条评论