天数最少的年份_DAX测量从总天数计算不同年份的失去天数

This is a Power Query based approach...

我从这开始:

fa52cf5b-fc30-4ec4-ae30-5004bef03e0c.png

然后,我通过单击“添加列”选项卡和“自定义列”按钮添加自定义列,并完成弹出窗口,如下所示:

c777d4e9-e01c-4114-9814-c8603978ee86.png

...然后单击“确定” .

然后我通过选择它然后单击Transform选项卡然后单击Data Type和Date来更改该新列的类型 .

然后我添加了另一个自定义列,完成弹出窗口,如下所示:

5fb3b8a7-74e0-4f41-b6f3-c3e441e9d3d2.png

然后我添加了另一个自定义列,完成弹出窗口,如下所示:

eb0ba751-9049-435d-9106-c3e62dd7ad08.png

然后我添加了另一个自定义列,完成弹出窗口,如下所示:

d6fa59f0-557f-4a96-8b5c-c0c76221d3b1.png

然后我通过单击列顶部的

8f076178-9eab-46ca-856f-2f0637567465.png

并展开到新行来扩展我添加的最后一列 .

然后我添加了一个最终的自定义列,完成弹出窗口,如下所示:

7596830b-e405-4d69-9e4b-23b83decdfdf.png

最后,我按Event,DaysLost,Started和Year列进行分组,并通过单击Transform选项卡和Group By按钮并完成弹出窗口来总结DaysLostForYear列:

43d3534a-6973-4a0f-972f-b03beaffc42c.png

我最终得到了这个:

e108e0aa-7716-4a30-9b8b-fc8450b06aba.png

你可能想要一个不同的分组,但这应该让你接近 . 它显示了与每次伤害总天数相关的年份中丢失了多少天 . 例如,第一次伤害持续30天,于2016年12月25日开始:其中7天发生在2016年,23起发生在2017年 . 第二次伤害是588天,从2012年8月6日开始:148 2012年为365天,2013年为365天,2014年为75天 .

请注意,我将开始日期视为丢失的一天 . 还要注意我占闰年 .

我希望这有帮助 .

这是查询代码:

let

Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],

#"Changed Type" = Table.TransformColumnTypes(Source,{{"Event", type text}, {"DaysLost", Int64.Type}, {"Started", type date}}),

#"Added Custom" = Table.AddColumn(#"Changed Type", "Ended", each Date.AddDays([Started],[DaysLost]-1)),

#"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"Ended", type date}}),

#"Added Custom3" = Table.AddColumn(#"Changed Type1", "DaysYearStarted", each Number.From(Date.From(Text.From(Date.Year([Started]))&"/12/31")-[Started])+1),

#"Added Custom4" = Table.AddColumn(#"Added Custom3", "DaysYearEnded", each Number.From([Ended]-Date.From(Text.From(Date.Year([Ended])-1)&"/12/31"))),

#"Added Custom5" = Table.AddColumn(#"Added Custom4", "Year", each List.Numbers(Date.Year([Started]),Date.Year([Ended])-Date.Year([Started])+1)),

#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom5", "Year"),

#"Added Custom1" = Table.AddColumn(#"Expanded Custom", "DaysLostForYear", each if [Year]=Date.Year([Started]) then [DaysYearStarted] else

if [Year]=Date.Year([Ended]) then [DaysYearEnded] else

if Date.IsLeapYear([Year]) then 366 else 365),

#"Grouped Rows" = Table.Group(#"Added Custom1", {"Event", "DaysLost", "Started", "Year"}, {{"DaysLostForYear", each List.Sum([DaysLostForYear]), type number}})

in

#"Grouped Rows"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值