首页
学习
活动
专区
圈层
工具
发布

PowerBI 连续天数通用计算模型

业务过程中,经常遇到需要计算连续天数的场景,比如:连续打卡天数、连续评优的同学、连续下单的客户等。 那么,计算连续天数是否有通用的模型呢?答案是肯定的。...filterT = FILTER('ratings',[level]="A") 分组 这里用到了计算连续天数的一个算法: 将 业务日期距离某固定日期的天数 与 业务表中大于当前业务日期的天数进行求和,...计算连续天数 上面已经计算了连续天数分组标记 group ,将分组标记进行 行计数,即可得到每个业务对象的连续分组天数 successiveDays = SUMMARIZE( 'groupT'..., 'groupT'[name], 'groupT'[group], "rowCNT", COUNTROWS('groupT') ) 计算最大连续天数 某些需求场景下,需要计算每个业务对象的最大连续天数...successiveDays'[rowCNT]) ) 最终模型 为了便于理解,上面列出计算连续天数时的各个步骤,将以上步骤整合,即可得到两个通用模型。

1.4K00

用SQL计算用户连续登录天数

上次我们根据用户创建账号和登录日志进行了《用SQL进行用户留存率计算》,今天我们继续用这份用户登录日志来计算用户连续登录天数。 1....数据预览 这里我们用到的是用户登录的日志,其中用户每天可能存在多次登录。 用户登录日志 用户登录 以上案例数据 后台回复 955 可以在SQL文件夹里data领取 2....《『数据分析』pandas计算连续行为天数的几种思路》 《利用Python统计连续登录N天或以上用户》 今天,我们用SQL来进行本次的操作,大致分为以下几步: 数据去重 SELECT DISTINCT...(DATE_SUB),并按照用id和差值进行分组计数(这就是用户的连续登录天数) SELECT role_id , DATE_SUB(date,INTERVAL sort DAY) d_group ,...role_login ) temp_1 ) temp_2 GROUP BY role_id, DATE_SUB(date,INTERVAL sort DAY) 最后取每个用户id的连续登录天数的最大值即可

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

    『数据分析』pandas计算连续行为天数的几种思路

    我们的第72篇原创 作者:才哥 ---- ☆ 大家好,我是才哥。 最近在处理数据的时候遇到一个需求,核心就是求取最大连续行为天数。...图3:处理后数据 2. 求连续污染持续天数 结合上次的《利用Python统计连续登录N天或以上用户》案例,我们这里再提供1种新的解题思路,合计2种解题思路。 以下解法来自小明哥和才哥 2.1....图4:筛选空气质量污染的数据 步骤2:新增辅助列(辅助列可以不用加到原数据t上) 这里的逻辑大概如下: 辅助排名列(按照时间顺序排序)为间隔天数 然后用时间字段(time)与间隔天数求差值得到一个日期...{x.max()}', # 求起止日期 '空气质量':"count", # 求连续天数 }).nlargest(5,'空气质量') # 取 空气质量 字段最大的前5组数据 ?...图10:思路2的解法2小明哥结果 以上就是本次全部内容,其实我们在日常工作生活中还可能遇到类似场景如:计算用户连续登录天数、计算用户连续付费天数、计算南方梅雨季节连续下雨天数等等!

    8.8K11

    2.21 PowerBI数据建模-连续进货天数

    有一张销售表,需要统计:1 按客户的最大连续进货天数;2 连续2天及以上进货的客户数。解决方案首先计算当前进货的最近一次未进货日期,然后用当前进货日期减去这个日期就得到连续进货天数了。...有了连续进货天数,按日期可以得出最大连续进货天数,然后再按客户可以得出按客户的最大连续进货天数,最后取按客户的最大连续进货天数大于等于2的客户数就很容易了。...:使用DATEDIFF计算最近未进货日期和所选日期范围内最大的销售日期之间的天数。...按日期最大连续进货天数 = MAXX(VALUES('日期表'[Date]),[连续进货天数])按客户最大连续进货天数:取所选客户中,每个客户的最大连续进货天数的最大值。...按客户最大连续进货天数 = MAXX(VALUES('客户表'[客户]),[按日期最大连续进货天数])连续进货2天以上的客户数:取所选客户中,每个客户的最大连续进货天数>=2的客户数。

    36400

    字节跳动大数据面试SQL-最大连续登录天数

    业务场景:用户运营需要找出"高活跃用户"(连续登录天数最长的用户),给他们推送 VIP 权益。同时也要找出"即将流失的用户"(连续登录天数突然下降)。...二、题目 现有一张用户登录日志表 t17_zj_user_login,记录了用户每天的登录情况(每天每用户至多一条记录)。请找出每个用户的最大连续登录天数。...连续的日期会得到相同的差值 按差值分组,COUNT 求每组连续天数,MAX 取最大值 原理图解: 用户1 的日期: 01-01 → ROW_NUMBER=1 → 差值=01-01 - 1 = 12-31...),再套用差值法 当前连续天数:不只是历史最大,还要知道"截止今天正在连续的最近一段有多少天" 七、知识点总结 考点 说明 ROW_NUMBER + PARTITION BY 按用户分区编号 日期 -...ROW_NUMBER Gaps and Islands 差值法核心 相同差值 = 连续 连续日期的数学特性 DATE_SUB 日期减去整数天数 MAX + GROUP BY 取得每个用户的最长连续段

    28910

    数据透视表:动态计算近N天数据变化

    在Excel中,我们可以使用Power Pivot和数据透视表相结合的方法来动态计算近N天的数据变化的情况。比如,我们按选择一个日期,计算当前日期的前7天、前15天,前30天等近期的数据变化情况。...如图所示: 这种方法不仅可以提高数据透视表的效率,还可以打造更多的分析的维度。 初始的数据源和数据模型如下图所示: 在这个模型中,我们新建一个日期表,用来筛选订单表中的下单日期。...这个例子是简化过来的。 为了当我们选择一个日期的时候,在我们透视表中和数据透视图中能显示选择的近N天的数据,我们还需要做两件事: (1)新建一个用于切片器的近N天的表。如图所示。...首先我们需要一个简单的用于计算总金额的度量值,即: 总金额:= SUM('订单表'[金额]) 其次我们需要一个计算近N天的总金额的度量值salestotal。...插入一个数据透视表,日期列来自于切片日期表中的日期列,放入度量值salestotal。如图所示,当我们选择一个日期的时候,就可以自动计算这个日期的近N天的总金额。

    3.1K30

    题目----计算某年某月的天数

    输入 年份和月份 目的 计算这一年这个月有多少天。 #include //分为闰年366天,平年365天去计算。...//第二季度(四月、五月、六月)91天 //第三季度(七月、八月、九月)92天 //第四季度(十月、十一月、十二月)92天 void day(int year, int mon) //定义一个计算天数的函数...{ int run[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 }; //闰年月份天数 int ping[12] = { 31,28,31,30,31,30,31,31,30,31,30,31...}; //平年月份天数 //输出的天数 int date = 0; //判断平闰: if (year % 4 == 0) //如果年份取余4等于0,即为闰...= EOF) //当正常输入年份和月份时,进入循环 { day(a, b); //调用计算天数的函数,计算并输出月份的天数 } return 0;

    1.4K10

    常见大数据面试SQL-各用户最长的连续登录天数-可间断

    一、题目 现有各用户的登录记录表t_login_events如下,表中每行数据表达的信息是一个用户何时登录了平台。...现要求统计各用户最长的连续登录天数,间断一天也算作连续,例如:一个用户在1,3,5,6登录,则视为连续6天登录。...1 | +----------+-------------+---------------+------------+-----------+ 4.按照用户和group_id 分组,计算每次连续登陆的天数...,再根据用户分组计算最大连续天数 首先根据user_id和group_id分组,用datediff计算出出最大登陆日期和最小登陆日期,两者做差+1 得到每次连续登陆的天数。...然后按照用户分组,使用max()计算每个用户最大连续天数。

    2K11

    Excel巧算连续打卡最长的天数

    然而,有时由于各种原因,我们可能偶尔会中断打卡,那么,我们要知道在打卡记录中,连续打卡(也就是坚持)的最长天数,应该怎么做呢?这就是今天我们想要用公式来解决的问题。 示例数据如下图1所示。...图1 注:你可以到知识星球完美Excel社群下载示例数据工作簿,也可以自己制作一个。示例数据来源chandoo.org。...希望使用公式得到: 1.连续打卡的最长天数 2.最长坚持打卡是从哪里开始的 这里的关键是找出由TRUE变到FALSE或者由FALSE变到TRUE的位置。可以错位比较,找出单元格值变化的位置。...Bug:本示例假设连续打卡的天数总是大于连续中断的天数,否则上述结果不正确。 下面是更酷的公式。...连续打卡最长天数: =MAX(FREQUENCY(IF(list,id),IF(list,,id))) 最长天数开始位置: =MATCH(F20,FREQUENCY(IF(list,id),IF(list

    1.7K20

    PowerBI 计算疫情影响的业务天数

    我们将这样的情况进行记录如下: 这里模拟了对关店日期的记录。可能导致某些数据的逻辑不合理,但不影响计算。空值表示关店后没有开店。 数据处理 首先在 Power Query 中进行预处理。...注意 其实也可以直接用日期起点终点来实现计算,只是无法利用到日期表的特点,这是两套不同的计算方案。 调整数据类型后,得到: 将这个主要内容加载到数据模型。...如果是常规计算将导致复杂性。 计算的自适应性 由于建立了拉平日期的关店日期数据,并与日期表关联,这就可以弥补两个重要难题: 在计算日期天数的时候,其计算逻辑是统一的,且简单的计数。...实际上,可能不是这样 则可以根据不同店的理论营业日期区间数据做同样变换计算 这里考虑到用户可能多选不同的店铺 则应该将每个店铺的理论营业天数乘以所选范围的店数 实际情况若每个店的理论营业日期天数不同,则应该用...总结 本文虽然题为 “疫情影响的业务天数”,但这里给出了一种通用的思维模式: 将每个店的天数计算,改为在模型层用日期表连锁,以更高效统一地计算。

    2.4K40

    有温度的数据,需要有温度的存储

    数据分层存储技术主要应用在混闪存储系统设计,可根据数据冷、热、温的特点,合理调度使用SSD、HDD等不同介质类型的存储资源,降低存储系统的初始购买成本。...西部数据公司高级副总裁兼中国及亚太区总经理 Steven Craig 有温度数据,有温度的盘 西部数据创新存储架构分层存储模型将数据划分为快数据、大数据,分别对应于性能、容量的存储需求。 ?...作为西部数据所强调的另一个核心存储策略,分区存储技术代表着西部数据对于数据存储架构高性能、高效率的追求。...有温度的盘,有温度的存储设计 有温度的数据,有温度的盘给存储系统设计带来了新的机遇。...如今,应对爆炸式数据需求增长也是如此。 人尽其才、物尽其用,有温度的数据,需要有温度的存储系统设计。否则的话,“没有声音,再好的戏也出不来啊!“

    2.2K10

    Java计算日期相差天数的几种方法

    ️ Java计算日期相差天数的几种方法 在Java编程中,处理日期和时间是常见的需求之一。本文将详细介绍几种计算日期相差天数的方法,并提供具体的代码示例和注释,帮助你在项目中更好地处理日期计算。...在这篇博客中,我们将探讨Java中几种计算日期相差天数的方法,包括使用java.util.Date、java.util.Calendar、java.time.LocalDate以及第三方库如Joda-Time...通过详细的代码演示和注释,让你全面掌握这些技巧,提升开发效率。✨ 引言 日期计算在许多应用场景中都至关重要,例如任务调度、数据分析和财务计算。在Java中,有多种方式可以实现日期相差天数的计算。...表格总结 方法 主要特点 示例应用 java.util.Date 最早期的日期处理类,简单但功能有限 适用于简单的日期计算,但不推荐在新项目中使用 java.util.Calendar 比Date功能更强...java.time包 在维护旧项目或需要特殊功能时使用 总结 在Java中计算日期相差天数的方法有多种选择。

    4.8K10

    如何计算两个日期之间的天数

    计算两个日期之间的天数很实用,我一般用sq SELECT DATEDIFF("2089-10-01","2008-08-08") AS "北京奥运会开幕式天数" 如果用Go计算两个日期之间的天数,可以使用...,代表的是自1970年1月1日00:00:00 UTC以来的秒数,也就是第一个日期,2008-08-08 00:00:00的Unix时间戳 其计算过程如下, 可以略过: 计算自绝对纪元以来的天数 (d)...然后,根据月份和是否为闰年调整这个天数,包括在月份之前的所有天数和当前月份中的天数(通过day - 1计算,因为天数是从1开始的)。...将天数转换为秒 (abs): 计算出的天数乘以每天的秒数(secondsPerDay),加上当前天中已经过去的小时、分钟和秒数所对应的秒数,得到abs。这个值是自绝对纪元以来的总秒数。...这个计算基于格里高利历(该历法是当前国际上最广泛使用的日历体系)的规则。公式的组成部分如下: 1969*365:计算给定年份之前的所有年份中的天数,假设每年都是365天。

    5.2K10

    如何用Python计算日期之间的天数差

    delta = date1 - date2 # 提取天数差 days_difference = delta.days print(f"日期1与日期2相差 {days_difference} 天。"...计算指定日期和今天的差多少天 # 给定日期字符串 date_string = '2023-10-17 01:05:16' # 将日期字符串转换为 datetime 对象 given_date = datetime.strptime...(date_string, '%Y-%m-%d %H:%M:%S') # 获取今天的日期 today = datetime.now() # 计算日期差值 time_difference = today...- given_date # 提取天数差 days_difference = time_difference.days print(f"给定日期和今天相差 {days_difference} 天。...通过这三种方法,可以轻松地计算两个日期之间的天数差。这些方法对于日常编程任务中的日期和时间处理非常有用。无论是在任务计划、数据分析还是应用程序开发中,了解如何计算日期差都将是一个有用的技能。

    5.7K20
    领券