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. Django前后端交互&数据验证

    一.前端--->后端 1.form表单 <form method="post" action="/test/?a=1&b=2"> {% ...

  2. 【ACM程序设计】并查集

    并查集 并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题.一些常见的用途有:求连通子图.求最小生成树的Kruskal算法和求最近公共祖先( ...

  3. spring4+hibernate4 整合

    1.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version=" ...

  4. 国产开源优秀新一代MPP数据库StarRocks入门之旅-数仓新利器(上)

    概述 背景 Apache Doris官方地址 https://doris.apache.org/ Apache Doris GitHub源码地址 https://github.com/apache/i ...

  5. netty系列之:netty中常用的xml编码解码器

    目录 简介 XmlFrameDecoder XmlDecoder 总结 简介 在json之前,xml是最常用的数据传输格式,虽然xml的冗余数据有点多,但是xml的结构简单清晰,至今仍然运用在程序中的 ...

  6. iTextSharp 提取签名图像

    原文 本文使用 iTextSharp 5.5.13.2,记录使用 iTextSharp 提取图片时,获得的知识点. pdf 中的签名并不是单纯的一张图片,它是由一张基础的底色图和一张蒙版图片组成.需要 ...

  7. SpringCloud基础概念学习笔记(Eureka、Ribbon、Feign、Zuul)

    SpringCloud基础概念学习笔记(Eureka.Ribbon.Feign.Zuul) SpringCloud入门 参考: https://springcloud.cc/spring-cloud- ...

  8. liunx 服务器下面安装mysql8.0

    闲来无事,准备自己搭建一个服务器高点事情,不可避免的就是需要使用到mysql数据库了.在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程 ...

  9. 存储器、I/O组织、微处理器

    重点知识 存储器的内部结构及访问方法 存储器分段以及存储器中的逻辑地址和物理地址 I/O端口组织及编址方式 时序和总线操作以及系统的工作方式和特点. 存储器组织 8086有20根地址线,可寻址的存储器 ...

  10. python封装发送邮件类

    import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart i ...