Power Pivot精简版OLAP2
DAX(Data Analysis Expressions)是一种新语言,中文叫资料分析语言。
它和Excel函数非常类似,可以说是将Excel函数语言进行延伸和转化而成。
函数WEEKDAY(date,return_type)
Date:表示日期格式;retuen_type决定回传的数值形式,有3种形式(1、2、3)
传回1:表示从星期日(1)开始至星期六(7)结束;传回2:表示从星期一(1)开始,至星期日(7)结束;传回3:表示从星期一(0)开始,至星期日(6)结束
DAX语言可以归纳为两种类型
1) 雷同Excel运算式:两者函数公式相似,都可透过函数组合导出新的计算栏位。
2) 与查询(Query)语法陈述式类似:使用函数方式,有T-SQL语言效果,能传回部分或整个资料表结果
DAX和Excel函数不同之处:
1) Power Pivot资料可以储存、保存档案的工作簿类型;Excel工作簿(*.xlsx)、启用Excel巨集工作簿(*.xlsm)和Excel二进制工作簿(*.xlsb)等其它格式类型,则不支持储存Power Pivot
trunc函数还能比大小吗2) Power Pivot画面不能使用Visual Basic for Applications(VBA)
3) DAX只能在Power Pivot工作簿的Excel画面中使用
4) 在Excel枢纽分析中,可以使用鼠标右键进行组化分组(级距分析)
5) 但在Power Pivot枢纽分析表是不行的,只能透过计算方式来达到该功能(ex.建立维度和阶层属性)
6) 计算基础不同,DAX语言是以资料行或资料表为计算基础,一般常见的Excel则是以资料储存格或资料范围
7) 处理日期资料类型,DAX语言是真正处理DateTime资料类型,Excel实际上只是处理(从
1900/1/1起,计算的天数)整数
8) 关联式资料库概念:Excel并没有关联式资料库的概念,以往要查阅活页簿之间的关系,可能都需要透过参照函数(例如,常见的VLookup)才能达到查询的目的;但从Power Pivot出现之后,增加了新语言DAX,在资料模型设计阶段还可透过某些方式建立资料表之间的关联。
9) DAX支持的数据类型(资料类型)多余Excel,并且DAX会在资料(数据)汇入的同时,针对某些资料进行隐含类型转换。
DAX的规则
DAX语言的宣告原则,主要有3个部分:
1) 资料表名称:利用单引号包裹(‘资料表名称’)
2) 不用区分大小写,若资料表名称没有空格,则可忽略单引号
3) 资料行名称:利用中括号包裹([资料行名称]),同样不区分大小写
4) 资料表、资料行或量值名称:开头或结尾不可有空格或空白字元
5) 名称内容中不能包含以下特殊字元(. , ; ‘ : ^ * | ? & % $ ! + = ( ) [ ] { } < >)
DAX命名规则:
‘资料表名称’
[资料行名称]
‘资料表名称’[资料行名称]
使用规则部分,DAX语言和Excel函数一样,都是一律采用等号(=)开头。
等号(=)后面有提供计算结果为纯量的任何运算式,或转换为纯量的运算式。
量值规则
量值名称:=DAX计算公式
DAX运算子包括4种不同型态:算术、比较、逻辑和字串相连
DAX函数介绍
日期和时间函数:
—DATE函数:传回指定日期格式,由年、月、日组成
—DAY函数:传回该月的日期数字,1~31(或30)
—EDATE函数:传回开始日期之前或之后的第n月份日期
—EOMONTH函数:传回指定月数日期之前或之后的当月最后一天日期
—HOUR函数:传回0~23之间数字,代表小时
—MINUTE函数:传回0~59之间的数字,代表分钟
—MONTH函数:传回1~12的数字,代表月份
—NOW函数:传回目前日期和时间,等于T-SQL的Getdate()
—SECOND函数:传回0~59数字,代表秒数
—TODAY函数:传回目前的日期,可用来计算年龄大小
—TIME函数:指定数字的时、分、秒,并转换成时间(datetime)格式
—WEEKDAY函数:传回1~7数字,预设星期日(1),至星期六(7)
—WEEKNUM函数:依据return_type值,传回给定日期和年份的周次
—YEAR函数:传回日期年份,1900~9999数字
—YEARRAC函数:传回以两个日期之间整日天数计算表示的年份分数
资讯函数
—CONTAINS函数:检视资料表内,指定值和存在资料行的值是否相符,符合回传True,不符合回传False
—CUSTOMDATA函数:检查回传连线(接)字串中,是否存在CustomData属性内容(回传“OK”),不能在导出栏位行中使用,只能在量值或AllowedRowsExpression
ISBLANK函数:检视某个(某栏位)值是否为空白,符合回传True,不符合回传False
—ISERROR函数:检视某个(某栏位)值是否错误,符合回传True,不符合回传False
—ISLOGICAL函数:检视某个(某栏位)值是否具有逻辑,符合回传True,不符合回传False
—ISNONTEXT函数:检视某个(栏位)值,是否为非文字,可用空白或非文字型态,符合回传True,不符合回传False
—ISNUMBER函数:检视某个值是否为数字,符合回传True,不符合回传False
—ISTEXT函数:检视某个(某栏位)值,是否为文字,符合回传True,不符合回传False
—LOOKUPVALUE函数:对于符合search_columnName与search_value中,指定所有规则资料列,传回iresult_columnName中的值
—PATH函数:传回一段文字字串并以符号做分隔,包含所有父子阶层关系的识别码
—PATHCONTAINS函数:将指定项目存在指定path中,符合回传True,不符合回传False
—PATHITEM函数:评估PATH函数产生的字串,并传回至指定position项目,由计算位置
—PATHLENGTH函数:使用在指定父子阶层关系,传回给定项目的父子阶层内容
—PATHITEMREVERSE函数:评估PATH函数产生的字串并传回至指定position项目,由右至计算位置

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。