您好,欢迎访问三七文档
DAX函数参考日期和时间函数(DAX):DAX中的这些函数类似于MicrosoftExcel中的日期和时间函数。但是,DAX函数基于MicrosoftSQLServer使用的datetime数据类型。时间智能函数(DAX):这些函数帮助你创建使用日历和日期的相关内置信息的计算。通过将时间和日期范围与聚合或计算结合使用,您可以为销售、库存等生成可比较时间段内的有意义比较。筛选器函数(DAX):这些函数帮助你返回特定数据类型、在相关表中查找值以及按相关值进行筛选。查找函数通过使用表和表之间的关系进行工作。筛选函数可用于操作数据上下文来创建动态计算。信息函数(DAX):这些函数查找作为另一个函数的参数提供的表或列,并且指示值是否与预期的类型匹配。例如,如果引用的值包含错误,则ISERROR函数将返回TRUE。逻辑函数(DAX):这些函数返回有关表达式中的值的信息。例如,通过TRUE函数您可以了解您正在计算的表达式是否返回TRUE值。数学和三角函数(DAX):DAX中的数学函数类似于Excel的数学和三角函数。但是,DAX函数使用的数值数据类型存在一些差别。其它函数(DAX):这些函数执行不能由其他大多数函数所属的任何类别定义的唯一操作。父/子函数(DAX):这些数据分析表达式(DAX)函数帮助用户管理在其模型中显示为父子层次结构的数据。统计函数(DAX):这些函数执行聚合。除求和与平均值,或者查找最小值和最大值外,你还可以通过DAX在聚合之前筛选列或基于相关表创建聚合。文本函数(DAX):使用这些函数,你可以返回部分字符串、搜索字符串中的文本或连接字符串值。其他函数用于控制日期、时间和数字的格式。一、日期和时间函数(DAX)1.1DATE函数1.2DATEVALUE函数1.3DAY函数1.4EDATE函数1.5EOMONTH函数1.6HOUR函数1.7MINUTE函数1.8MONTH函数1.9NOW函数1.10SECOND函数1.11TIME函数1.12TIMEVALUE函数1.13TODAY函数1.14WEEKDAY函数1.15WEEKNUM函数1.16YEAR函数1.17YEARFRAC函数1.1DATE函数语法DATE(year,month,day)参数项定义year表示年份的数字。年参数的值可以包含一到四位。将根据您的计算机使用的日期系统对年参数进行解释。支持从1990年3月1日开始的日期。如果输入了小数,将对该小数取整。对于大于9999或小于零(负值)的值,该函数将返回#VALUE!错误。如果year值介于0和1899之间,则将该值加上1900以便生成最终值。请参阅下面的示例。注意应该尽可能使用四位数字作为年份参数,以避免意外结果。例如,使用07会将1907作为年份值返回。month表示月份的数字,或者根据以下规则通过计算得到:如果month是一个从1到12的数字,那么该数字就表示一年中的某个月。1表示一月,2表示二月,以此类推,到最后的12表示十二月。如果输入一个大于12的整数,则会进行以下计算:将month值加到year上,从而计算出日期。例如,如果使用DATE(2008,18,1),该函数将返回一个相当于2009年6月1日的日期时间值,因为将18个月加到2008年年初后将生成值2009年6月。请参阅下面的示例。如果输入一个负整数,则会进行以下计算:从year中减去month值,从而计算出日期。例如,如果使用DATE(2008,-6,15),该函数将返回一个相当于2007年6月15日的日期时间值,因为从2008年年初减去6个月后将生成值2007年6月。请参阅下面的示例。day表示天的数字,或者根据以下规则通过计算得到:如果day是一个从1到给定月份的最后一天的数字,那么该数字就表示当月的一天。如果输入一个大于给定月份的最后一天的整数,则会进行以下计算:将day值加到month上,从而计算出日期。例如,在公式DATE(2008,3,32)中,DATE函数将返回一个相当于2008年4月1日的datetime值,因为将32天加到3月初后将生成值4月1日。如果输入一个负整数,则会进行以下计算:从month中减去day值,从而计算出日期。例如,在公式DATE(2008,5,-15)中,DATE函数将返回一个相当于2008年4月15日的datetime值,因为从2008年5月初减去15天后将生成值2008年4月。如果day包含小数,则对该小数取整。返回值返回指定的日期(datetime)。注释DATE函数采用输入的整数作为参数,并且生成相应日期。在年、月、日由公式提供的情况下,该DATE函数最有用。例如,基础数据中包含的日期可能采用无法识别为日期的格式,如YYYYMMDD。您可以将DATE函数与其他函数一起使用,以便将日期转换为可识别为日期的数字。与MicrosoftExcel(将日期存储为序列号)相比,DAX日期函数始终返回datetime数据类型。不过,您可以根据需要,使用格式设置将日期显示为序列号。在用于在DirectQuery模式下部署然后查询的模型中时,此DAX函数可返回不同的结果。有关DirectQuery模式下的语义差异的详细信息,请参阅=219171。示例:返回简单日期说明下面的公式将返回日期2009年7月8日。代码=DATE(2009,7,8)示例:1899年之前的年份说明如果您为year参数输入的值介于0(零)和1899(含这两个数字)之间,则该值将加上1900以便计算年份。下面的公式将返回1908年1月2日:(1900+08)。代码=DATE(08,1,2)示例:1899年之前的年份说明如果您为year参数输入的值介于0(零)和1899(含这两个数字)之间,则该值将加上1900以便计算年份。下面的公式将返回3700年1月2日:(1900+1800)。代码=DATE(1800,1,2)示例:1899年之后的年份说明如果year介于1900和9999(含这两个数字)之间,则该值将用作年份。下面的公式将返回2008年1月2日:代码=DATE(2008,1,2)示例:使用月份说明如果month大于12,则month会将该月份数加上指定年份中的第一个月。下面的公式将返回2009年2月2日:代码=DATE(2008,14,2)注释如果month值小于1,则DATE函数将从指定年份的第一个月中减去该月份数的大小,然后加1。下面的公式将返回2007年9月2日:=DATE(2008,-3,2)示例:使用天说明如果day大于指定的月份中的天数,则day会将该天数加到月份中的第一天。下面的公式将返回日期2008年2月4日:代码=DATE(2008,1,35)注释如果day小于1,则day将从指定月份的第一天中减去该天数的大小,然后加1。下面的公式将返回2007年12月16日:=DATE(2008,1,-15)1.2DATEVALUE函数语法DATEVALUE(date_text)参数术语定义date_text表示日期的文本。属性值/返回值采用datetime格式的日期。注释在执行转换时,DATEVALUE函数使用客户端计算机的区域设置和日期/时间设置来理解文本值。如果当前日期/时间设置以月/日/年的格式表示日期,则字符串“1/8/2009”将转换为与2009年1月8日等效的datetime值。但是,如果当前日期和时间设置以日/月/年的格式表示日期,则相同字符串将转换为与2009年8月1日等效的datetime值。如果省略了date_text参数的年份部分,则DATEVALUE函数将使用来自计算机的内置时钟的当前年份。date_text参数中的时间信息将被忽略。示例下面的示例根据您的计算机的区域设置以及如何显示日期和时间的设置,返回不同的datetime值。在日位于月之前的日期/时间设置下,该示例将返回与2009年1月8日相对应的datetime值。在月位于日之前的日期/时间设置下,该示例将返回与2009年8月1日相对应的datetime值。=DATEVALUE(8/1/2009)1.3DAY函数返回月中的第几天,即一个1到31之间的数字。语法DAY(date)参数术语定义datedatetime格式的日期,或日期的文本表示形式。返回值表示月中第几天的整数。注释DAY函数采用您要查找的某一天的日期作为参数。可以使用其他日期函数,使用返回日期的表达式,或者通过键入datetime格式的日期来为函数提供日期。也可以采用日期的一种可接受字符串格式键入日期。无论提供的日期值的显示格式如何,YEAR、MONTH和DAY函数返回的值都是公历值。例如,如果提供的日期的显示格式是回历,则YEAR、MONTH和DAY函数返回的值将是与对应的公历日期相关联的值。当日期参数是日期的文本表示形式时,DAY函数使用客户端计算机的区域设置和日期/时间设置来理解文本值,以便执行转换。如果当前日期/时间设置以月/日/年的格式表示日期,则字符串“1/8/2009”将解释为与2009年1月8日等效的datetime值,并且该函数返回8。但是,如果当前日期/时间设置以日/月/年的格式表示日期,则相同字符串将解释为与2009年8月1日等效的datetime值,并且该函数返回1。示例:从Date列中获取日期说明下面的公式将返回从列[Birthdate]中的日期获取的日期。代码=DAY([Birthdate])示例:从字符串日期中获取日期说明以下公式使用以可接受文本格式字符串提供的日期返回日期4。代码=DAY(3-4-1007)=DAY(March42007)示例:使用日期值作为条件说明下面的表达式返回下达每个销售订单的日期,并将在当月10日下达订单的相应行标记为促销项。代码=IF(DAY([SalesDate])=10,promotion,)1.4EDATE函数返回在开始日期之前或之后指示的月数的日期。使用EDATE可以计算与发行日属于月中同一天的到期日期。语法EDATE(start_date,months)参数术语定义start_date采用datetime或text格式的表示开始日期的日期。months表示start_date之前或之后的月份数的整数。返回值一个日期(datetime)。注释与MicrosoftExcel将日期存储为顺序序列号不同,DAX以datetime格式处理日期。以其他格式存储的日期将被隐式转换。如果start_date不是有效的日期,EDATE将返回错误。请确保您作为第一个参数提供的列引用或日期是一个日期。如果months不是整数,则会被截断。当日期参数是日期的文本表示形式时,EDATE函数使用客户端计算机的区域设置和日期时间设置来理解文本值,以便执行转换。如果当前日期时间设置以月/日/年的格式表示日期,则以下字符串“1/8/2009”将解释为与2009年1月8日等效的日期时间值。但是,如果当前日期时间设置以日/月/年的格式表示日期,则相同字符串将解释为与2009年8月1日等效的日期时间值。如果请求的日期过了相应月份的最后一天,则返回该月份的最后一天。例如,以下函数EDATE(2009-01-29,1)、EDATE(2009-01-30,1)、EDATE(2009-01-31,1)返回2009年2月28日,它对应于开始日期之后的一个月。在用于在DirectQuery模式下部署然后查询的模型中时,此DAX函数可返回不同的结果。有关DirectQuery模式下的语义差异的详细信息,请参阅=219171。示例下面的示例返回订单日期之后三个月的日期,订单日期存储于[TransactionDate]列中。=EDATE([TransactionDate],3)1.5EOMONTH函数返回指定月份数之前或之后的月份的最后一天的日期,该日期采用datetime格式。E
本文标题:DAX函数参考
链接地址:https://www.777doc.com/doc-6218484 .html