|
今天卯足了劲学习PQ,加上辅助列公式 和透视表,做得如下效果,权当抛砖引玉了!
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
更改的类型 = Table.TransformColumnTypes(源,{{"合同签署日期", type date}, {"合同开始时间", type date}, {"合同结束时间", type date}, {"退房时间", type date}, {"签约租金 ", type number}}),
已添加自定义 = Table.AddColumn(更改的类型, "开始时间首天", each Date.StartOfMonth([合同开始时间])),
已添加自定义1 = Table.AddColumn(已添加自定义, "结束时间末天", each Date.EndOfMonth([合同结束时间])),
更改的类型1 = Table.TransformColumnTypes(已添加自定义1,{{"开始时间首天", type date}, {"结束时间末天", type date}}),
已添加自定义2 = Table.AddColumn(更改的类型1, "月数", each Date.Month([合同结束时间])-Date.Month([合同开始时间])+(Date.Year([合同结束时间])-Date.Year([合同开始时间]))*12+1),
已添加自定义4 = Table.AddColumn(已添加自定义2, "开始月份总天数", each Date.DaysInMonth([开始时间首天])),
已添加自定义3 = Table.AddColumn(已添加自定义4, "月份扩展", each List.Dates([合同开始时间],[月数],#duration(30,0,0,0))),
#"展开的“月份扩展”" = Table.ExpandListColumn(已添加自定义3, "月份扩展"),
更改的类型2 = Table.TransformColumnTypes(#"展开的“月份扩展”",{{"月份扩展", type date}}),
已添加条件列 = Table.AddColumn(更改的类型2, "每月到期日", each if Date.Month([合同结束时间]) = Date.Month([月份扩展]) then [合同结束时间] else [月份扩展]),
已添加自定义5 = Table.AddColumn(已添加条件列, "到期日调整", each if [合同结束时间] = [每月到期日] then [每月到期日] else Text.Combine({Number.ToText(Date.Year([每月到期 日])),Number.ToText(Date.Month([每月到期日])),Number.ToText(Date.DaysInMonth([每月到期日]))},"-")),
更改的类型3 = Table.TransformColumnTypes(已添加自定义5,{{"到期日调整", type date}}),
已添加自定义6 = Table.AddColumn(更改的类型3, "当月总天数", each Date.Day([到期日调整]))
in
已添加自定义6 |
|