刚接触AS,有些迷茫

0
刚接触AS,感觉很困惑,不知道该如何下手,很多东西都得定义MDX,大家有没有好的学习方法和资料? 
也可能是以前用的工具比较好用,至少不需要定义语句。但用户选择了平台,没有办法,项目就要开工了,我还没有一点头绪,迷茫中,请高人指点一下。
已邀请:
2

brucelu - 大数据、数据仓库、数据挖掘均有涉猎 2015-09-06 回答

关于AS的难度我深有体会,我刚毕业就是接触微软这一套工具,虽然当时我是sas以及spss的使用者,过渡到sql都花了不少时间,然后转型到mdx觉得特别难适应,mdx就是类sql语句,非标准化语言,当然微软没有大力主推,有很多语法写起来特别难受,可以通过以下几个方式学习: 
1、mdx的编写可以通过report builder的自定义工具来转成代码,这样就能理解了。
2、使用现有的资料进行学习和认识,从类sql的角度去理解和编写,这一条路比较费时间。
3、找视频学习,或者找朋友同事帮忙。
4、附件里面是mdx的比较详细的语法,可以参考学习。
另外就下面这段模糊查询的mdx代码,我说一下 :
1、WITH里面是自定义的一些查询或者依赖,set集的成员(理解为维度)。member是度量值
2、SELECT 语句是查询返回需要结果(ON 0 是列 也可以写成COLUMNS,ON 1 是行 也可以写成ROWS)
3、FROM() 或者 WHERE 可以加一定的筛选条件
4、FROM 表示从某个cube取数据很多细节需要你这边去学习,有不懂的可以在问答上提问。
WITH   SET [ThisYear]    AS  strtoset("[日期].[日期].&["+cstr(Year("2014-10-08"))+"-01-01] : [日期].[日期].&["+cstr(Year("2014-10-08"))+"-"+right("0"+cstr(Month("2014-10-08")),2)+"-"+right("0"+cstr(Day("2014-10-08")),2)+"]") SET [LastYear]    AS strtoset("[日期].[日期].&["+cstr(Year(dateadd("yyyy",-1,"2014-10-08")))+"-01-01] : [日期].[日期].&["+cstr(Year(dateadd("yyyy",-1,"2014-10-08")))+"-"+right("0"+cstr(Month(dateadd("yyyy",-1,"2014-10-08"))),2)+"-"+right("0"+cstr(Day(dateadd("yyyy",-1,"2014-10-08"))),2)+"]" ) MEMBER [Measures].[本期销售量]  AS SUM([ThisMonth]  ,   [Measures].[销售量]) SELECT {[Measures].[本期销售量],[Measures].[销售量] } ON COLUMNS, [区域].[子区域].allmembers ON ROWS FROM ( SELECT ( FILTER([供应商].[供应商].Members ,vbamdx!INSTR([供应商].[供应商].CURRENTMEMBER.Name,"北京供应商",1 >= 1 )))  ON COLUMNS FROM [案例cube])
2

- 取是能力,舍是境界 2015-09-06 回答

MDX其实类似于T-SQL,是用来查询数据仓库的语言。因为数据仓库是有别于SQL SERVER数据库的,是多维数据库,所以T-SQL已经不能胜任了。不要惧怕学习一门新的语言,要先理解数据仓库相关的概念和使用。只有理解了这些,然后学习MDX才能明白语法的含义。
 
下面是天善社区的一些教学视频,http://www.hellobi.com/course/explore/weiruan,你也可以从网上或书店寻找一些SSAS的书籍。另外有任何问题,可以发到问答社区,会有专家第一时间给出解决思路。

要回复问题请先登录注册