Power BI DAX 之日期函数
此篇文章描述了日期函数 而非时间智能函数。
日期函数是完成对日期的简单计算,如:某天是星期几。
时间智能函数完成基于日期的分析逻辑计算
1 时间智能函数不是日期函数
2 计算 同比 环比 最近7天 等业务逻辑
日期函数一般常用如下
1.DATE
以日期时间格式返回指定的日期
DATE(<year>, <month>, <day>)
2.DATEVALUE
将文本格式的日期转换为日期时间格式的日期。
DATEVALUE(date_text)
3.DAY
返回月份中的第几天,一个从 1 到 31 的数字。
DAY(<date>)
4.EDATE
返回开始日期之前或之后指定月数的日期。使用 EDATE 计算到期日或到期日,该日期与发行日在当月的同一天。
EDATE(<start_date>, <months>)
<months> 是小数 会四舍五入 例如 1.5->2
EDATE 跟 EMONTH 区别 前者返回+/-之后的日期,后者返回+/-之后的日期 的月份最后一天
例如 2021/3/1 (-1month)-> 2021/2/1
后者 2021/3/1 (-1month)-> 2021/2/28
5.EOMONTH
返回指定月数之前或之后的月份最后一天的日期时间格式的日期。使用 EOMONTH 计算到期日或到期日,该日期是该月的最后一天。
EOMONTH(<start_date>, <months>)
<months> 是小数 会四舍五入 例如 1.5->2
EDATE 跟 EMONTH 区别 前者返回+/-之后的日期,后者返回+/-之后的日期 的月份最后一天
例如 2021/3/1 (-1month)-> 2021/2/1
后者 2021/3/1 (-1month)-> 2021/2/28
6.HOUR
将小时作为从 0 (12:00 AM) 到 23 (11:00 PM) 的数字返回。
HOUR(<datetime>)
7.MINUTE
MINUTE(<datetime>)
给定日期和时间值,以从 0 到 59 的数字返回分钟。
8.MONTH
以从 1(一月)到 12(十二月)的数字返回月份。
MONTH(<datetime>)
9.NOW/TODAY
NOW() 以日期时间格式返回当前日期和时间。
TODAY() 返回当前日期。
二者区别 NOW 返回的当前时间除了日期还有时间(时分秒)
TODAY仅仅返回当前日期
10.SECOND
以 0 到 59 的数字形式返回时间值的秒数。
SECOND(<time>)
11.TIME
将以数字形式给出的小时、分钟和秒转换为日期时间格式的时间。
TIME(hour, minute, second)
12.TIMEVALUE
将文本格式的时间转换为日期时间格式的时间。
TIMEVALUE(time_text)
12.WEEKDAY
返回一个从 1 到 7 的数字,标识日期的星期几。默认情况下,日期范围从 1(星期日)到 7(星期六)。
WEEKDAY(<date>, <return_type>)
默认return_type 1
return_type:1,星期从星期日 (1) 开始,到星期六 (7) 结束。编号为 1 到 7。
return_type:2,一周从星期一 (1) 开始,到星期日 (7) 结束。
return_type:3,周从星期一 (0) 开始,到星期日 (6) 结束。编号为 1 到 7。
案例weekday日期函数1 WEEKDAY('表 2'[Date],1)
weekday日期函数2 WEEKDAY('表 2'[Date],2)
weekday日期函数3 WEEKDAY('表 2'[Date],3)
return_type 1 是从周日开始算 1 往后计算到 7(周六)
return_type 2 是从周一开始算1 往后计算到7(周日)
return_type 3 是从周一开始算0 往后计算到6(周日)
13.WEEKNUM
根据return_type值返回给定日期的周数。周数表示一周在一年内的数字位置。
有两个系统用于此功能:
- 系统 1 - 包含 1 月 1 日的那一周是一年中的第一周,编号为第 1 周。
- 系统 2 - 包含一年中第一个星期四的那一周是一年中的第一周,编号为第 1 周。该系统是 ISO 8601 中指定的方法,通常称为欧洲周编号系统。
WEEKNUM(<date>[, <return_type>])
默认情况下,WEEKNUM 函数使用日历约定,其中包含 1 月 1 日的一周被视为一年中的第一周。然而,在欧洲广泛使用的 ISO 8601 日历标准将第一周定义为新年中大部分天数(四天或更多天)的那一周。这意味着,如果return_type是 21 以外的任何有效值,那么对于 1 月的第一周有 3 天或更短时间的任何年份,WEEKNUM 函数将返回不同于 ISO 8601 定义的周数。
对于return_type,除 21 外,某些 DirectQuery 数据源可能不支持以下有效值:
WEEKNUM日期函数1 = WEEKNUM('表 2'[Date],1)
WEEKNUM日期函数2 = WEEKNUM('表 2'[Date],2)
WEEKNUM日期函数21 = WEEKNUM('表 2'[Date],21)
1 跟 2 区别在于周开始于周日 跟周一
不同于21 是因为21 采用了系统2 (四天或更多天)的那一周才会成为第一周) 所以1.1 1.2 没有超过四天不算作为第一周
14.YEAR
以 1900-9999 范围内的四位整数形式返回日期的年份。
YEAR(<date>)
15.YEARFRA
返回两个日期之间的天数与全年天数的占比
YEARFRAC(<start_date>, <end_date>, <basis>)
学期 | 定义 |
---|---|
开始日期 | 日期时间格式的开始日期。 |
结束日期 | 日期时间格式的结束日期。 |
基础 |
(可选)要使用的天数基础类型。所有参数都被截断为整数。
基础 - 描述 0 - 美国 (NASD) 30/360 1 - 实际/实际 2 - 实际/360 3 - 实际/365 4 - 欧洲 30/360 |
你也许经常用DATEDIFF,但DATEDIFF只能返回大概的差异,而这个函数会精确到时间占全年的比例,并返回任意精度的小数位数,在需要精确年度差异的时候很好用,并且可以控制全年是按360天还是365天来计算。
16.DATEDIFF
返回两个日期之间的间隔边界数。
DATEDIFF(<Date1>, <Date2>, <Interval>)
学期 | 定义 |
---|---|
日期1 | 标量日期时间值。 |
日期2 | 标量日期时间值。 |
间隔 |
比较日期时使用的间隔。该值可以是以下之一:
- SECOND |
17.CALENDAR
返回一个表,其中包含一个名为“Date”的单列,其中包含一组连续的日期。日期范围是从指定的开始日期到指定的结束日期,包括这两个日期。
CALENDAR(<start_date>, <end_date>)
18.CALENDARAUTO
返回一个表,其中包含名为“Date”的单个列,其中包含一组连续的日期。日期范围是根据模型中的数据自动计算的。
CALENDARAUTO([fiscal_year_end_month])
日期范围计算如下:
- 模型中不在计算列或计算表中的最早日期作为 MinDate。
- 模型中不在计算列或计算表中的最新日期作为 MaxDate。
- 返回的日期范围是与 MinDate 关联的会计年度开始和与 MaxDate 关联的会计年度结束之间的日期
在此示例中,数据模型中的 MinDate 和 MaxDate 分别为 2010 年 7 月 1 日和 2011 年 6 月 30 日。
CALENDARAUTO()
将返回 2010 年 1 月 1 日至 2011 年 12 月 31 日之间的所有日期。
CALENDARAUTO(3)
将返回 2010 年 3 月 1 日至 2012 年 3 月 31 日之间的所有日期。
Power BI DAX 之日期函数相关推荐
- Power BI——DAX函数(数据分析表达式)
一.概念: DAX 是英文 Data Analysis Expression 的缩写,DAX 公式是用作数据分析的,DAX的主要功能正是查询和运算,DAX 查询函数负责筛选出有用的数据集合,然后利用 ...
- POWER BI:DAX函数简介(转自微软官方)
什么是 DAX? DAX 是公式或表达式中可用来计算并返回一个或多个值的函数.运算符和常量的集合.简而言之,DAX 可帮助您通过模型中已有的数据创建新信息. 为何 DAX 如此重要? 创建工作簿并向其 ...
- Power BI DAX 编写利器 —— DaxStudio 的简单用法
当DAX表达式写的很长的时候,在Power BI Desktop工具里面分析问题会变得比较麻烦. 我们可以利用DAX的查询分析器 -- DaxStudio DaxStudio的用法简单,类似SQL S ...
- 【Power BI】通过Power BI DAX获取每月活动用户数量
前言 在做Power BI报表统计时候,经常会遇到查看每月活动用户数量的需求 实现方式 1.新建度量值 月活动浏览者统计 = CALCULATE (DISTINCTCOUNT ('QueryAllAc ...
- 灵魂发问power bi中的Calculate函数到底是什么?
在学习power bi的时候,学习到Calculate的使用时,在下面的一个例子中,突然间搞混了Calculate的使用(只知道怎么用,但是真正用起来确实一脸茫然) 在开始之前,先看看两张基础的表,商 ...
- 【power bi】搭建——理解函数
目录 一.指标 1.度量值 二.常用函数 聚合函数 LOOKUPVALUE related COUNTROWS calculate filter sql在power bi中的应用 SUMMARIZEC ...
- Power BI Dax 之时间智能函数
本文会对一系列的时间智能函数做分析大体如下: DATEADD,SAMEPERIODLASTYEAR,DATESMTD,DATESQTD,DATESYTD 以及这些dax函数的组合求上期,本期至今,上期 ...
- Power BI DAX函数学习:DATEVALUE
DAX中你可能没有注意到的一个函数:DATEVALUE,用于转化日期格式,具体语法和用法如下: DATEVALUE 这个函数不常用,但需要用的时候,你没有必要先拆分字符再用年.月.日的组合来转化为日期 ...
- Power BI DAX函数学习:EDATE和EOMONTH
DAX中你可能没有注意到的一个时间函数:EOMONTH,用于返回移动N个月份后的该月最后一天的日期,具体语法和用法如下: EOMONTH 返回某个月份的最后一天很常用,所以DAX专门设计了这么一个函数 ...
- Power BI DAX函数学习:YEARFRAC
DAX中你可能没有注意到的一个函数:YEARFRAC,用于返回精确的年度差异,具体语法和用法如下: YEARFRAC 你也许经常用DATEDIFF,但DATEDIFF只能返回大概的差异,而这个函数会精 ...
最新文章
- excel操作技巧记录(实时更新)
- python保存csv_python怎样保存csv文件
- 综合布线工作组2009年工作简报
- 用subline添加单引号和逗号,在sql中使用
- rabbitmq启动失败-报Failed to load advanced configuration file解决方法
- php手机电子相册,免费电子相册制作软件 手机电子相册制作软件
- js图表报表html5图表,介绍一个!非常简单非常方便!制作图表报表的js库 —— ichartjs 【详细操作】...
- C++20协程原理和应用
- 修改windows功能要开启哪个服务器,win7更改windows功能提示出现错误并非所有的功能被成功更改怎么办...
- 【渝粤教育】国家开放大学2018年秋季 1117t机电控制与可编程序控制 参考试题
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_18-页面查询接口定义-定义接口...
- hdu 2094 “产生冠军”——set容器的应用
- bat打包成exe_拜托!看完这篇文章别再问我怎么Python打包成exe了!
- 顶级赛事 | 2019 CCF BDCI,最值得参与的国际大数据及AI赛事之一
- 2021年饶州中学高考成绩查询,鄱阳饶州中学2019高考成绩喜报、一本二本上线人数情况...
- 基于卷积神经网络(CNN)的猫狗识别
- Invalid row number (65536) outside allowable range (0..65535)
- leetcode -- 953验证外星语词典
- 手机计算机无法使用,为什么手机不能像电脑一样「一心多用」?
- You have enabled checking of packages via GPG keys. This is a good thing. However, you do not have
热门文章
- php+ddos原理,PHP DDos的几个防御方法详解_PHP教程
- 电商实训三:网店经营
- python读取、写入txt文本内容
- conda cudnn版本升级_Ubuntu16.04深度学习环境+个人桌面配置(CUDA10.1 + cudnn8.0.4 + pytorch1.7)...
- jep3.5 java 动态公式
- 测试低频噪音软件,低频噪音检测
- Asp.net页面生命周期详解任我行(2)-WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用...
- winpe修复计算机无法启动,pe系统windows启动修复工具怎么使用
- 经典案例:日活DAU下降,该如何着手分析?
- 数据库设计以及PD数据导入数据库