首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

取假日后的第一个工作日,典型的函数嵌套案例!| PQ必练技能

【文末留言赠书】 问题很简单:对有标注是否上班的日期表新建一列,提取假期(是否上班为0)后的第一个工作日(是否上班为1)。...比如,1月1日和1月2日均为假期,它后面的第一个工作日为1月3日,所以1月1日和1月2日后面都填1月3日。 在Power Query中解决这个问题也不复杂。...将数据加载到PQ后,添加自定义列: 这个公式的核心思路是:对整个表(这里基于上一步骤“更改的类型”的结果)筛选(Table.SelectRows)出“日期”(更改的类型步骤里的日期)大于“当前行日期”,...且“是否上班”为1的内容并取“日期”列结果,然后通过List.First函数取其中第1个日期。...| PQ重难点突破》里有详细论述,建议不太熟练的朋友,多仔细看并动手练习,再加上本文的案例进行巩固。

21810

1.20 PowerBI数据准备-日期表增加节假日、工作日分析相关列

有些场景会针对工作日或者节假日的数据进行汇总分析,或者对每月第几个工作日平移筛选数据,按工作日计算时间进度,又或者按照每月第几个工作日动态切换日期表中当月的标记等。...解决方案每个组织的假期安排不尽相同,因此用统一的假期标记日期表不合适,每个组织要有自己维护的一份假期表,然后用假期表合并查询到日期表中,在日期表中生成节假日、节假日类型、是否工作日、每月第几个工作日、年月按第几个工作日标记当前月...此处用到了List.Sum求和函数、Table.SelectRows筛选函数、(x)=>自定义函数,筛选上一步骤的表,要求年月与当前行的年月相等,日期小于等于当前行的日期,然后将数据类型改为整数。...点击菜单栏主页下的新建源,选择空查询,输入代码,生成一个随刷新变化的当天日期。然后在日期表中,新建自定义列,输入代码,生成按照每月第6个工作日动态标记当前月的年月列。...List.Sum(List.Range(#"Changed Type"[Is_Workday],0,[Date_Order]))日期表增加节假日、工作日分析相关列后,如下:

8700
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL日期函数

    引言: 在 SQL 中,日期函数具有多种重要作用: 1. 数据筛选和查询: 可以根据特定的日期范围来获取所需的数据。例如,通过 BETWEEN 操作符和日期函数,筛选出在某个时间段内的订单记录。...能够提取日期中的特定部分,如年、月、日、小时等,以便按照这些部分进行分类和统计。 2. 数据处理和转换: 将日期格式进行转换,以适应不同的显示需求或与其他系统进行数据交互。...增强查询灵活性: 能够根据各种日期条件进行精确的筛选和查询。 比如,要获取本月的销售数据,可以使用日期函数轻松实现。 3....简化数据处理: 无需手动编写复杂的逻辑来处理日期的计算、转换和比较。 像计算两个日期之间的工作日数量,使用相应的日期函数会简单很多。 4....适应业务需求变化: 当业务规则中对日期的处理要求发生改变时,只需修改使用日期函数的相关部分,而不必更改大量的底层代码。

    10910

    独家 | 手把手教数据可视化工具Tableau

    聚合表示将多个值(单独的数字)聚集为一个数字,通过对单独值进行计数、对这些值求平均值或显示数据源中任何行的最小单独值来实现。...从“度量”区域拖出的任何字段在添加到视图时一开始将为连续,因此其背景将显示为绿色,但如果您单击字段并选择“离散”,则值将变为列标题。 然而Tableau 会继续对字段的值进行聚合。...因为即使该字段现在为离散,但它仍然是度量,而 Tableau 会始终对度量进行聚合。如果有意愿您可以再进一步执行过程,将度量转换为维度。只有这样,Tableau 才会停止对其值进行聚合。...有时,您可能预计 Tableau 会按一个顺序执行筛选器,但操作的顺序决定的筛选器按不同的顺序执行,则结果可能会出人意料。如果发生这种情况,您有时可以更改操作在管道中执行的顺序。...STEP 3:在“列”上右键单击“SUM(Sales)”并选择快速表计算 –“总额百分比”。 STEP 4:单击工具栏上的“降序排序”按钮 ( ),按从最多到最少的顺序对类别进行排序。

    18.9K71

    Power Query 真经 - 第 7 章 - 常用数据转换

    关于此的讨论已经超出本书的范畴,但这里给出以便读者可以对 “表” 这一概念有深度的思考,并对其不同结构,形成系统的认识。)...图 7-11 的表将 “Measure” 进行了透视,得到了两列,其好处是后续可以单独对任何一列进行计算,这是合理的。...将数据集筛选到【最早】的日期,只筛选与所选列中最早的日期相匹配的行。 使用【介于】筛选器将允许用户对开始日期和结束日期范围进行硬编码。...当需要强制它们筛选 2022 年时,需要编辑查询并手动更改它。 7.4.3 数据排序 在本章中,要探讨的最后一项技术是排序。继续上一节的内容,用户希望按 “State” 列的升序对数据进行排序。...然后,按日期对数据进行升序排序,但将其作为 “State” 的一个子排序。换句话说,这些排序需要相互叠加,而不是相互取代。 做到这一点的步骤如下所示。

    7.5K31

    全自动化处理每月缺卡数据,输出缺卡人员信息

    有些公司还规定对于基层员工要在工作日提交日志、管理人员要提交周报或月报,对于少提交的人员要进行处罚。 如果公司HR逐个对人员的日志或缺卡数据进行处理,将是一项耗时且无聊的工作。...只需把想统计的月份放在日期的第一行即可,代码中已按日期第一行进行了同年月数据子框的筛选。 如需设置定时任务,把运行结果定时邮件发送给相关人员,可以私信我。...: 4 计算工作日天数 接着取出数据框日期列的第一个值,获取要统计的年月信息。...if x.find(y_m)>=0: return True #找出这一个月中的工作日,求出工作日的天数 days = calendar.Calendar().itermonthdates...5 获取缺卡名单 最后调用函数获取缺卡名单,主要是对每个填报日期和实际工作日期进行比对。

    1.8K30

    【MySQL】MySQL数据库的进阶使用

    查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示 6. 对未知表进行查询时,最好进行分页显示,这样可以避免表中数据过大时,导致查询全表数据致使数据库卡死。...update用于更改表中某一行或者多行的数据,值得注意的是,在使用update对表中数据进行更新的时候,如果不跟上where子句进行数据筛选的话,则update会对表中所有的行进行某一列字段值的更新,因为...from>where>group by>select>,其实就是先对数据作where条件的筛选,然后对筛选出来的数据进行分组,分组时按照name的不同来进行分组,分组之后,对分组后的结果进行聚合统计,然后对于每组的行数据进行部分列字段的显示...,此时就只显示两列字段,一个是name,一个是聚合统计结果min(math) 6.group by子句的使用(配合having进行分组聚合统计之后的条件筛选) 1....replace不会更改数据的存储,仅仅只是在select显示层面上进行更改。

    34820

    使用管理门户SQL接口(一)

    选择模式对于数据类型是有意义的,其逻辑存储格式与所需的显示格式(显示或ODBC)不同,例如Intersystems Iris日期和时间和Objectscript%List结构化数据。...行号:一个复选框,指定是否在结果集中显示的每一行中包含行计数号。 行号是分配给结果集中每一行的连续整数。它只是对返回的行进行编号,它既不对应rowwid也不对应%VID。行号列标题名是#。...从Show History列表中执行SQL语句将更新其执行时间(本地日期和时间戳),并增加其计数(执行次数)。可以过滤Show History列表,如下所示:在过滤框中指定一个字符串,然后按Tab键。...筛选器字符串可以是在SQL语句列中找到的字符串(比如表名),也可以是在执行时间列中找到的字符串(比如日期)。 过滤字符串不区分大小写。 在显式地更改过滤器字符串之前,它将一直有效。...对从Show History中检索到的SQL语句进行任何更改,都会将其作为新语句存储在Show History中; 这包括不影响执行的更改,如更改字母大小写、空格或注释。

    8.4K10

    计算工作日,反正我从来没见过不需要处理特殊日期的!

    经常有朋友问怎么计算两个日期间的工作日问题,本来,对于简单的计数问题,总不会复杂到什么程度,但是,对于这个问题,我通常会说,先确定你的工作日历表,也就是说,先定义好哪些算工作日,哪些算假期—...即反正周一到周五就是工作日,周六周日就是休息日,这种情况下,如果用Excel直接解,一个函数搞定: 然鹅,PQ里没有这样的函数,那该怎么办?...下面的List.Select就是上面的d进行筛选,条件为日期的星期几(Date.DayOfWeek,第2个参数为0时,从0开始计算周一),筛选出来后用List.Count进行计数。...这种情况下,一般来说,应该有一个参与计算的完整的日历表,其中标明了哪些是工作日,哪些是假期——对于很多比较完整的企业数据模型来说,这种完整的日历表应该是比较好的解决方案(如果没有,建议建一个)。...样子大概如下: 这种情况下,计算主要就是对日历表进行筛选然后计数: 关于Table.SelectRows函数,前面写的文章里例子太多了,如果不了解,可以去搜索一下。

    86130

    高级SQL查询技巧——利用SQL改善和增强你的数据

    关系数据库系统和混合/云数据管理解决方案的用户都可以使用SQL灵活地访问业务数据,并以创新的方式进行转换或显示。...对业务数据库结构的透彻了解,对上游数据进行转换和聚合的巧妙解决方案,对于高效,完善的ETL至关重要。这是我在构建复杂的管道时学到的一些技巧,这些技巧使我的工作轻松而有趣。...我可能想包括7天移动平均线,或附上上周出售的工作日小部件,以查看业务与上周相比的表现。我可以通过将数据集连接到自身上,并使用日期列上的操作来选择单个值或观察范围来做到这一点。...下面的示例将表B联接到表A上,以将日期回溯7天以获取前一个工作日的小部件销售: select a.date , a.total_widgets_sold , b.total_widgets_sold...通过使用伪代码对逻辑规则进行周到的设计可以帮助避免由于不正确/不一致的规则而导致的错误。了解如何在SQL中编码嵌套逻辑对于释放数据中的潜力至关重要。

    5.8K30

    Navicat Premium 17太牛了,图形化界面的执行计划显示,非常点赞的功能

    你可以从一系列预设计模板中选择,并根据你的偏好进行个性化设置。设置自动化流程以将文档导出为 PDF,并通过电子邮件与利益相关者共享。数据字典还可在模型工作区中使用。...Navicat 在给定的时间点保留了一组特定的数据,以及其相应的 SQL 和运行时间。无论你是需要执行深入分析还是比较,固定查询结果的功能都能确保你拥有可靠且未更改的数据集。...它允许我们使用熟悉的“过滤和排序”功能添加筛选(和排序)。假设我们只想分析 rental 表中租赁日期在 2006 年上半年的记录。...选择日期和时间非常容易,这要归功于内置的日期和时间选择器!...你可以根据优先级将连接设置星标、根据其重要性分配颜色或对它们进行分组来个性化你的连接管理。使用“管理连接”,一切都会整齐有序且易于访问,从而节省了查找特定连接的时间和精力。

    1.4K10

    6个日期时间常见问题总结 | Power Query实战

    我在举例的时候特意用了3月底的一些日期,对应的往前推一个月就是2月底,所以,大家可以观察一下,当月底的日期往前推的时候,是什么情况: 还有,如果往后推一个月呢?...即反正周一到周五就是工作日,周六周日就是休息日,这种情况下,如果用Excel直接解,一个函数搞定: 然鹅,PQ里没有这样的函数,那该怎么办?——一句话,回归自然:选出周一到周五的日期,然后计数!...下面的List.Select就是上面的d进行筛选,条件为日期的星期几(Date.DayOfWeek,第2个参数为0时,从0开始计算周一),筛选出来后用List.Count进行计数。...这种情况下,一般来说,应该有一个参与计算的完整的日历表,其中标明了哪些是工作日,哪些是假期——对于很多比较完整的企业数据模型来说,这种完整的日历表应该是比较好的解决方案(如果没有,建议建一个)。...样子大概如下: 这种情况下,计算主要就是对日历表进行筛选然后计数: 总结 在实际工作中关于日期及其相关计算的问题,通常都有很多特殊的情况需要处理,比如这个例子中的特殊假期,还有其他的如年假天数计算等等

    8.8K20

    盘一盘 Python 特别篇 19 - 天数计数|年限

    在金融产品估值时,细节最多的就是如何生成日期和年限了,最核心的细节如下: 支付日通常不会落在周末和公共假期上,如落到,那么根据“顺延”或“修正顺延”到后一个工作日,或者“提前”或“修正提前”到前一个工作日...工作日惯例解决这个问题。 两个日期之间的计数有对相应的惯例,比如“Actual/365”计算的天数就是两个日期之间实际的天数,而30/360“”有着特殊的算法。 日期计数惯例解决这个问题。...年份用具体四个数字标示的指的这个具体的日期是公众假期。 工作日惯例就是通过一些不同规定把一个非工作日调整到一个工作日 (非周末且非公众假期) 上。 1....2017年4月28日 (星期五) 1.2 全连接层 年限是将两个日期间的天数按某种规则转化成年数,而日期计数惯例就是这个规则。...定义这两个日期为起始日 (其年月日为 y1, m1, d1) 和结束日 (其年月日为 y2, m2, d2),并解释以下缩写含义: ISDA: International Swap Derivative

    1.5K20

    如何在腾讯云CVM中使用Date命令

    date命令显示当前日期和时间。它还可用于以您指定的格式显示或计算日期。或使用它来设置系统时钟。 个人推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。...以下是格式化令牌date支持的一小部分示例: 标记 内容 %a 本机的工作日名称缩写(例如,Sun) %a 本机的完整工作日名称(例如,星期日) %b 本机的月份名称缩写(例如,Jan) %B 本机的完整月份名称...例如,它可用于将给定日期/时间转换为Unix纪元时间(自1970年1月1日00:00:00以来的秒数)并返回。...从UTC创建(1970年1月1日)开始按给定的秒速算日期 $ date -d "UTC 1970-01-01 126507600 secs" Fri Jan 4 00:00:00 EST 1974 ​...手动设置系统日期 如果您的系统正在运行ntpd,并且您已正确设置时区,则不必更改此设置。但是,如果您发现需要手动设置系统时钟,请使用--set选项。

    1.6K20

    Python生成中国节假日工作表,快速给数据库内生成工作日历

    但是很多情况下,我们需要在内网环境下使用,这个时候就需要在数据库内生成工作日历表,如果使用频繁,甚至考虑缓存到中间件Redis内。那么,如何在数据库内生成一个工作日历表呢?...所以,我们肯定需要一个工作日历的数据来源。...使其生成SQL脚本。数据库设计既然需要一张表来存储工作日历,那么数据库的表应该如何设计?...因为需要一次性生成一年的工作日历,所以我们需要先获取一年的数据日期,之后遍历数据日期,使用LKI/chinese-calendar去解析每次的数据日期,将返回的结果包转为CSV或者拼接SQL。...如果你也需要工作日历,那么你可以直接clone代码并运行即可。大家一般又是如何生成“工作日历”的呢?

    81411

    有赞BI平台实现原理

    2.4 筛选与排序 制作图表时可按需筛选用户所关注的数据,也可从不同的时间维度观察数据,支持按某种排序规则对指标排序,方便用户快速从数据中获取信息。...筛选: 可以对字段或数值进行筛选,包括对原生字段、计算字段、及字段聚合后的数据进行过滤,如筛选出“订单状态”为“交易成功”,交易额大于1000的订单信息。...同时可对时间字段按年、月、季度、周等不同的时间维度去观察数据,只需要对字段标记日期类型及相应的日期格式即可。 后续会支持条件表达式,使用户对条件的筛选更加灵活。目前支持如下日期类型及格式: ?...图2.0 日期类型及格式 排序: 将指标按某种排列顺序进行排序,如按店铺的销售额降序排列出店铺的信息,这时可对指标进行排序。 目前支持对行维、指标的升降序排序。...图2.6 demo 上图拖拽的语义为:根据“订单类型”的不同取值,统计“买家数量”和“成交金额”,其中统计的订单需要满足其日期符合筛选条件(日期按年计算,只统计今年的订单),对结果集按“成交金额”升序排列

    1.9K10

    游戏行业实战案例2:玩家等级

    可以看到,这里存在一个筛选条件—日期为2022-08-13。...也就是说,我们可以把“登出日志”和“登录日志”纵向联结,然后再通过联结后的表对每个玩家按登录或登出时间进行排序,从而筛选出每个玩家最后一次时间下的等级。...另外,为了提高查询速度,在联结前我们就可以分别对“登出日志”和“登录日志”进行日期的筛选。...“登出日志”和“登录日志”纵向联结的SQL的书写方法: #列出具体字段并对字段名不一致的字段进行重命名,保证联结多表时字段对应正确 select 日期,角色id,登录时间 as 时间,角色等级 from...登录日志 where 日期 = '2022-08-13' union all #列出具体字段并对字段名不一致的字段进行重命名,保证联结多表时字段对应正确 select 日期,角色id,登出时间 as

    1K30

    matlab数据可视化交通流量分析天气条件、共享单车时间序列数据

    分类数据类型专为包含有限离散值集的数据而设计,例如一周中的日期名称。列出类别,以便它们按天顺序显示。使用点下标按名称访问变量。 在时间表中,时间与数据变量分开处理。...计算平均值并忽略 NaN 值。 mean(cots,'omitn') 按日期和时间选择数据 要确定假期期间有多少人骑自行车,请检查 7 月 4 日假期的数据。按 7 月 4 日的行时间索引时间表。...bikeData 使用特定日期和时间进行索引 以提取 7 月 4 日的数据。如果仅指定日期,则假定时间为午夜或 00:00:00。...issorted(bikeData) 对时间表进行排序。该 sortrows 函数按行时间对行进行排序,从最早到最晚。如果存在具有重复行时间的行,则将 sortrows 所有重复项复制到输出。...该 unique 函数还按行时间对行进行排序。 bkeata = unique(biketa); 具有重复时间但非重复数据的行需要一些解释。检查那些时间前后的数据。

    10810

    【工具】EXCEL十大搞笑操作排行榜

    1.移动选择 打开一个表,想要查看最后一行是第几行,很多童鞋都是一直按方向箭,或者不厌其烦拖动滚动条,这是一个非常不好的习惯,得改。童鞋,还记得键盘上的 CTRL+DOWN吗?...4.剪切粘贴 如果需要把A1:A10与B1:B10对调位置,你是不时这样操作?...可以在A1输入 2013-1-1,然后点击【开始】选项卡,然后在【编辑】组中,找到【填充】,在出现的下拉列表中选择【序列】,序列产生在列,类型选择日期,日期单位 为工作日,步长值为1,终止值为2013-...【数据】,选择【排序】,选择【选项】,方向中选择【按行排序】。 8.按年按月汇总 两列数据,一列为日期,一列为数量,需要按年按月汇总数量,怎么达到目的呢?...曾经看到有人在日期右边插入一列,用Year计算出年份,然后再插入一 列,用Month计算出月份,然后再一个个筛选,再进行汇总,当时我就震惊了,哎,不会透视表伤不起呀。

    3.1K60
    领券