[已解决] Power Query 困扰很久的日期计算,期待大神解惑!

  [复制链接]
查看235997 | 回复176 | 2020-11-6 00:20:04 | 显示全部楼层 |阅读模式
10695110016131.png
如图:
表格区域,黑色内容都为已有数据,添加自定义列【开始日期】;这一列怎么能自动计算出来。
需求已经在表格里说明。期待大神帮助。


补充说明:
10695110016132.png
具体需求见附件: 10695110016138.rar (12.11 KB, 下载次数: 0)
回复

使用道具 举报

古堡的早晨 | 2020-11-6 00:29:05 | 显示全部楼层
将压缩后的excel工作簿上传
回复

使用道具 举报

zone | 2020-11-6 00:34:05 | 显示全部楼层
将压缩后的excel工作簿上传


朋友,附件已上传!劳驾指点下。
回复

使用道具 举报

车头灯 | 2020-11-6 00:36:05 | 显示全部楼层
将压缩后的excel工作簿上传


朋友,你这个QQ交谈,没法打开。
回复

使用道具 举报

lijunw | 2020-11-6 00:44:05 | 显示全部楼层
补充说明:应该是在结算日期之前,没有出现过的渠道,那么就为第一次结算,开始日期就为投放日期;否则在结算日期之前,有出现过的渠道,那么就为第N次结算,开始日期就为上一次结束日期的下一月第一天。
回复

使用道具 举报

再看你一眼 | 2020-11-6 00:45:05 | 显示全部楼层
  1. Table.AddColumn(t1, "自定义", (t)=> if List.Max( Table.SelectRows(t1, each [渠道] = t[渠道] and [结束日期] < t[结束日期])[结束日期])+ #duration(1,0,0,0) = null then t[投放日期] else List.Max( Table.SelectRows(t1, each [渠道] = t[渠道] and [结束日期] < t[结束日期])[结束日期])+ #duration(1,0,0,0) )
复制代码



添加1个步骤,将上述 t1改为你的table名称
回复

使用道具 举报

zyyhzz0123 | 2020-11-6 00:53:06 | 显示全部楼层
添加1个步骤,将上述 t1改为你的table名称


已经测试,非常完美,谢谢!!!
回复

使用道具 举报

cozo | 2020-11-6 00:58:06 | 显示全部楼层
匠心千古 发表于 2020-9-11 18:19
已经测试,非常完美,谢谢!!!


如果数据量大,效率可能不如人意,建议用DAX来计算
回复

使用道具 举报

都市清风 | 2020-11-6 01:02:06 | 显示全部楼层
如果结束日期都是月末的话:
10695110016133.png
结束日期不是月末:
10695110016134.png
压缩文件参考:

10695110016139.rar (16.84 KB, 下载次数: 0)
回复

使用道具 举报

海洋的戒律 | 2020-11-6 01:06:06 | 显示全部楼层
简化了一点点,供参考。
10695110016135.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则