160_技巧_Power BI 新函数-计算工作日天数

一、背景

Power BI 2022 年 7 月 14 日更新了最新版本的,版本号为:2.107.683.0 。

更多更新内容可以查看官方博客:https://powerbi.microsoft.com/zh-cn/blog/power-bi-july-2022-feature-summary/

今天我们重点看一下更新的新函数:NETWORKDAYS ,返回两个日期(含)之间的整个工作日天数;其中参数可以指定周末及假期表;周末和节假日将不被视为工作日。

官方文档地址:https://docs.microsoft.com/zh-cn/dax/networkdays-dax

二、DEMO实践

我们来看下实际效果。

Power BI 公共 web 效果:https://demo.jiaopengzi.com/pbi/160-full.html

1、现有写法

_NETWORKDAYS_NOT_NEW =
/*
现有写法
[C03_WeekDay] 中周一为 0 ;周日为 6 。
*/ VAR NOT_HOLIDAY =
FILTER ( '01_Calendar', '01_Calendar'[C41_Holiday] = BLANK () )
VAR NOT_WEEKEND =
FILTER ( NOT_HOLIDAY, [C03_WeekDay] <> 5 && [C03_WeekDay] <> 6 )
RETURN
COUNTROWS ( NOT_WEEKEND )

2、新函数写法

_NETWORKDAYS_NEW =
/*
新函数写法
表示一周中不包含在 start_date 到 end_date 之间的整个工作日天数中的周末天数。
周末是一个周末数字,用于指定周末发生的时间。
周末数值表示以下周末日:
1:或省略:星期六、星期日
2:星期日、星期一
3:星期一、星期二
4:星期二、星期三
5:星期三、星期四
6:星期四、星期五
7:星期五、星期六
11:仅星期日
12:仅星期一
13:仅星期二
14:仅星期三
15:仅星期四
16:仅星期五
17:仅星期六
*/
VAR HOLIDAY =
SUMMARIZE (
FILTER ( ALL ( '01_Calendar' ), '01_Calendar'[C41_Holiday] <> BLANK () ),
[C01_Dates]
)
VAR START_DATE =
STARTOFMONTH ( '01_Calendar'[C01_Dates] )
VAR END_DATE =
ENDOFMONTH ( '01_Calendar'[C01_Dates] )
VAR _NETWORKDAYS =
NETWORKDAYS ( START_DATE, END_DATE, 1, HOLIDAY )
RETURN
_NETWORKDAYS

三、总结

1、无论新函数的写法,还是不使用新函数写法,都需有前置假期设置。

2、新函数 第三参数的可选值非常多,从 1 到 17 ;可选,分别代表不同的意义,详细见上述代码。

3、新函数中第四参数,即是假期的日期表。

4、从当前的写法来看,有一张合适的日期表(可以参考之前文章:https://jiaopengzi.com/2635.html)可以事半功倍,不使用新函数依然可以完美计算工作日,当然也可以计算假期。

附件下载

https://jiaopengzi.com/2821.html

视频课

https://jiaopengzi.com/all-course

by 焦棚子

160_技巧_Power BI 新函数-计算工作日天数的更多相关文章

  1. 163_技巧_Power BI 一键批量建立自定义字段参数

    163_技巧_Power BI 一键批量建立自定义字段参数 一.背景 在 2022 年 5 月开始,Power BI 新增了一个非常有用的功能字段参数.再也不用写一串的 SWITCH 了.字段参数的效 ...

  2. 【原创】如何使用一句SQL计算工作日天数?

    现在有这样一个需求,要求计算两个日期间的工作日天数,要求除去节假日,其中节假日有一张配置表,具体的格式如下: 开始日期 结束日期 节假日类型 节假日名称 2013-08-10 2013-08-12   ...

  3. 函数计算工具链新成员 —— Fun Local 发布啦

    刚刚,我们发布了函数计算工具链的新成员,Fun Local.欢迎大家使用! 如果你还不了解 Fun 是什么,我们来简单解释下. Fun 是什么 Fun 是 have Fun with Serverle ...

  4. 阿里云函数计算发布新功能,支持容器镜像,加速应用 Serverless 进程

    我们先通过一段视频来看看函数计算和容器相结合后,在视频转码场景下的优秀表现.点击观看视频 >> FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维. ...

  5. 开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试

    前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...

  6. 学习如何看懂SQL Server执行计划(二)——函数计算篇

    二.函数计算部分 --------------------标量聚合--------------------/* 标量聚合-主要在聚合函数操作中产生 计算标量:根据行中的现有值计算出一个新值 流聚合:在 ...

  7. 手把手教您将 libreoffice 移植到函数计算平台

    LibreOffice 是由文档基金会开发的自由及开放源代码的办公室套件.LibreOffice 套件包含文字处理器.电子表格.演示文稿程序.矢量图形编辑器和图表工具.数据库管理程序及创建和编辑数学公 ...

  8. 2019微软Power BI 每月功能更新系列——3月Power BI 新功能学习

    Power BI3月产品功能更新发布啦!本次新功能新增了热图和单选切片器:完善了新的DAX功能和对现有功能的改进(例如按钮和选择窗格):同时官方表示建模视图的全面改进也正在进行中~Woo~那么,本月更 ...

  9. 从函数计算架构看 Serverless 的演进与思考

    作者 | 杨皓然  阿里巴巴高级技术专家 导读:云计算之所以能够成为 DT 时代颠覆性力量,是因为其本质是打破传统架构模式.降低成本并简化体系结构,用全新的思维更好的满足了用户需求.而无服务器计算(S ...

随机推荐

  1. SpringMVC 配置 & 初识 & 注解 &重定向与转发

    初识 在web.xml 中注册DispatcherServlet <servlet> <servlet-name>springmvc</servlet-name> ...

  2. asyncio 异步编程

    首先了解一下协程,协程的本质就是一条线程,多个任务在一条线程上来回切换,协程的所有切换都是基于用户,只有在用户级别才能感知到的 IO 才会用协程模块来规避,在 python 中主要使用的协程模块是 a ...

  3. 10个 Linux 命令,让你的操作更有效率

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 根据老九大师兄口头阐述,Linux是最适合开发的操作系统 ...

  4. redo log 和 binlog 的一些总结

    1 redo log 和 binlog 的区别 redo log 是 InnoDB 引擎特有的:binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用. redo log 是物理 ...

  5. Element中使用el-select选中后不显示值

    <el-select v-model="form.data" placeholder="选择参数" @change="changeThis&qu ...

  6. SecureCRT使用SSH链接出现Password Authentication Failed,Please verify that the username and password are correct的解决办法(亲测有效)

  7. [保姆级教程] 如何在 Linux Kernel (V5.17.7) 中添加一个系统调用(System call)

    最近在学习 <linux Kernel Development>,本书用的linux kernel 是v2.6 版本的.看完"系统调用"一节后,想尝试添加一个系统调用, ...

  8. vscode编写的程序中文乱码怎么办?

    (以下教程在源码文件的编码是utf-8的基础上进行!) (dev的源码文件是GBK编码,或者是GB2312?我现在好久没用dev,关于dev的信息可能有错误. 如果拿dev编写的代码用vscode打开 ...

  9. 443. String Compression - LeetCode

    Question 443. String Compression Solution 题目大意:把一个有序数组压缩, 思路:遍历数组 Java实现: public int compress(char[] ...

  10. 《Effective C++》阅读总结(四): 设计、声明与实现

    第四章: 设计与声明 18. 让接口更容易被正确使用,不易被误用 将你的class的public接口设计的符合class所扮演的角色,必要时不仅对传参类型限制,还对传参的值域进一步限制. 19. 设计 ...