互联网服务商业智能

BI人,做回你的IT本行--你需要精通业务吗?

每每与BI同仁谈起做BI项目时,一个每谈必论的话题就是:BI人,要不要精通业务?
        而每次讨论的结果是,绝大多数BI人都会同意:BI人,必须精通业务。更有初入行或刚毕业的新BI人,更是因为“觉得”自己尚不精通业务而纠结ing,焦燥ing,每日惶惶然,惴惴然。
         对我自己而言,在刚接触BI的时候,我也是如此的。

        眼看世界末日将至,虽不至于万念惧灰,但仍是多了一些思考,恍惚之余,忽然之间,夜空若有灵光闪现,似乎有所感悟,事实似乎并非如此,遂打坐结印稍做神游,俄尔长身而起,振臂高呼:
        我错了,你们也全错了。BI人,放下你们背上的包袱吧,你们不需要精通业务。轻装上阵,只须做回你们的本行,就万事大吉鸟。
        你!本来就是专家。

        我老婆以为我疯了,我不跟她解释,反正跟她也解释不通。

        我只解释给你们:
        在解释之前,我希望每个人都是了解关系型数据库相关概念的,因为我们现在做BI项目使用的元数据基本上都是基于关系型数据库的,比如SQL SERVER, ORACLE,DB2等等等等,当然各数据库系统有各自自己的特长和差异性,但是核心概念是一样的,就是一个二维表结构(后来的XML实现了多维,极大地简化了使用二维结构来表示一个多维概念的复杂性),这是题外话,跳过。

        首先,大家想想,我们的BI项目是怎么开始的。前面那些该死的售前是怎么忽悠客户的;又是怎么胡乱答应客户要命的需求的;还有,客户乱七八糟的数据是怎么填进数据库的,我们先不管。我们只假设从现在我们已经有了一个有足够元数据的数据库开始。
        现在,我们拿着一个里面装有一大堆各种各样元数据的数据库,我们要开始做BI了。
        大家想想,我们的BI项目是怎么开始的?
                对,首先就是数据建模,根据不同的主题建立不同的数据模型,
                然后,生成cube(如果需要的话),
                然后,做固定报表,
                然后,培训客户用户自定义分析(如果需要的话)。

        我们都知道,最最最重要的就是数据建模,数据模型的好坏直接决定项目的成功与否。
        可是我们数据建模是怎么开始的呢?对,就是拖入那些乱七八糟的数据表,然后建立关联关系。
        这时你要说了,对,这里,这里,就在这里,你不懂业务,你怎么建模啊?
        没错,我不懂业务,我仍然能给你把模型建立起来,你信不信?
        可是怎么建呢?
        做过开发的人都知道,任何应用系统开发时,都是业务人员提出需求,然后开发人员分解需求,然后定义相关的数据结构,然后再在这个数据结构上开发应用程序。
        此时,开发人员定义数据结构的时候,一定会确定数据之间的相关关系,这个就是业务逻辑(事实上,在一个数据库应用系统开始建立之这前,它的业务逻辑就已经包含在里面了,只是我们没有静下心来去理解那些开发的神人们的思想而已)。
        这里的“相关关系",就是我现在建模要用的。
        说白了,这个”相关关系“,就是表的主外健关系,只要有了这个关系,就把表关联起来了。
        不管是星型模型,还是雪花模型,莫不是通过这个关联关系连接起来的,
        我们平时说的master-detail,primary-related等等,都是通过这个关系确定的。

        所以,我不需要知道任何业务知识,只需要知道那些基本关键字段的意义和关联关系,我就可以把模型建起来。

        表与表之间的关联关系确定后, 其他的就好处理了。
                所谓维度,实际上就是几个孤独的并行的字段。
                然后是层次,实际上就是上面那几个老死不想往来的字段通过master-detail或primary-related关系连接的下级表的关键字段。
                然后是指标,这个好理解,只能是数字类型的,是要显示的结果。
                还有所谓粒度,就是从不同的层次对指标进行汇总计算。
                主题就更容易理解了,就是把相关的表拖到一起,因为前面已经建好关系了,所以直接拖进来就行了。

        总之一句话:
                剔掉肉,只剩几根骨头,把骨头接起来,模型就成了。
                忽略掉那些描述字段,比如name,description之这类的,只留code,id,然后根据code和id的关系,把他们关联起来,模型也成了。
        就跟我前面说过的,事实上,在一个数据库应用系统在开始建立之这前,它的业务逻辑就已经包含在里面了,只要我们静下心来去理解那些表和字段,业务规则自然了然于心。

        模型建好后,其他的一切,你懂滴。。。

        所以,BI人们,请坚定你的眼神,不要被那些眼花缭乱的业务规则打乱你的心,做好你的IT本行,向客户索取尽量完整的数据库设计文档,认真分析好表结构,其他的,一切尽有可能。。。。。
参与66

0同行回答

“答”则兼济天下,请您为题主分忧!
龙伟龙伟软件开发工程师互联网
学习一下显示全部
学习一下收起
软件开发 · 2014-08-15
浏览1917
wenshao600wenshao600其它广州南天
回复 3# jielee 就是用高科技,证明领导那猪脑子里的愚蠢想法,版主大人,这句话,很有神显示全部
回复 3# jielee

就是用高科技,证明领导那猪脑子里的愚蠢想法,版主大人,这句话,很有神收起
互联网服务 · 2013-06-05
浏览1899
kingbit311kingbit311软件开发工程师king
如果想做一辈子程序员,当然可以只做自己的事。显示全部
如果想做一辈子程序员,当然可以只做自己的事。收起
互联网服务 · 2013-05-08
浏览1917
kangkang其它西安华瑞
不知道啊,,显示全部
不知道啊,,收起
IT分销/经销 · 2013-04-11
浏览1871
oracle_187oracle_187BI实施工程师天源迪科
默默的飘过显示全部
默默的飘过收起
电信设备制造商 · 2013-04-08
浏览1850
xiaofeng456xiaofeng456软件开发工程师HY
看了这个文章,我才知道原来烟头想进小学再毕业一次显示全部
看了这个文章,我才知道原来烟头想进小学再毕业一次收起
互联网服务 · 2013-03-29
浏览1996
yhwh_mlyhwh_mlBI项目经理华为技术有限公司
如果将个人定位为纯粹的开发人员(码农级),这么想是不错的。但是从架构师和PM角度来看,连目标(需求->业务实质)都看不清,那就连开展工作的基础都没了,角色不同,关注点自然不同,轻易的说可以不关注业务,未免有些武断。...显示全部
如果将个人定位为纯粹的开发人员(码农级),这么想是不错的。但是从架构师和PM角度来看,连目标(需求->业务实质)都看不清,那就连开展工作的基础都没了,角色不同,关注点自然不同,轻易的说可以不关注业务,未免有些武断。收起
2013-03-27
浏览2038
yrx113yrx113BI项目经理科码
现在很多公司都没有想到先记录数据,是想弄Bi再想去记录数据显示全部
现在很多公司都没有想到先记录数据,是想弄Bi再想去记录数据收起
零售/批发 · 2013-03-13
浏览1971
gexf55886688gexf55886688软件开发工程师shanghai grandshare
一个BI咨询顾问和一个外包BI开发的差价,或许就是业务的价值吧。不懂业务,项目一样能做下去,那是有其他 ...crazysand 发表于 2012-12-20 18:49     是这么回事!显示全部
一个BI咨询顾问和一个外包BI开发的差价,或许就是业务的价值吧。
不懂业务,项目一样能做下去,那是有其他 ...
crazysand 发表于 2012-12-20 18:49



    是这么回事!收起
互联网服务 · 2013-02-27
浏览1939
gexf55886688gexf55886688软件开发工程师shanghai grandshare
其实我一直很迷惹,什么是BI?什么是IT?我的理解(非书本上的,也非标准答案),BI是IT应用的一个方面 ...jielee 发表于 2012-12-20 17:42 非常赞同你的意见!这也是我们多年IT建设实践反复验证了的实际情况。曾经有一个客户高管这样要求我们:企业的业务部门只会从业务角度提需求,IT能否...显示全部
其实我一直很迷惹,

什么是BI?什么是IT?

我的理解(非书本上的,也非标准答案),BI是IT应用的一个方面 ...
jielee 发表于 2012-12-20 17:42


非常赞同你的意见!这也是我们多年IT建设实践反复验证了的实际情况。
曾经有一个客户高管这样要求我们:企业的业务部门只会从业务角度提需求,IT能否实现和如何实现他不管也不懂;企业的IT部门似乎懂得很多的计算机技术,但并不十分清楚建成的IT系统与业务需求是否能够完全贴合落地、业务上应用如何能够做得更好。IT建设厂商就是要做好企业这两者之间的桥梁,首先就要做好业务与技术之间的翻译工作(可能会有人说:这是他们企业内部的事,不应该是我们的职责。你说的对,但这现在往往行不通)。我们IT人、BI人如果不学习、不了解、不熟悉业务,就不可能做好项目(当然,你如果将自己定位于一个IT装配工,那就另当别论了)。IT/BI系统,业务是基础,业务是根本,技术是手段,技术是方式。收起
互联网服务 · 2013-02-27
浏览1930

提问者

junix2008
项目经理耐普罗塑胶五金制品(深圳)有限公司
擅长领域: 大数据商业智能数据库

相关问题

相关资料

问题状态

  • 发布时间:2012-12-20
  • 关注会员:1 人
  • 问题浏览:30348
  • 最近回答:2014-08-15
  • X社区推广