提供此数据:
ID Date Hour
1562 2019-10-13 11:00
1562 2019-10-13 15:00
1562 2019-10-13 22:00
1563 2019-10-13 15:00
1563 2019-10-13 22:00
1562 2019-10-14 11:00
您可以按照以下步骤创建它:
ID Date Hour Max_Row
1562 2019-10-13 11:00 0
1562 2019-10-13 15:00 0
1562 2019-10-13 22:00 1
1563 2019-10-13 15:00 0
1563 2019-10-13 22:00 1
1562 2019-10-14 11:00 1
- 按
ID
和Date
分组,添加两个名为All_Rows
的新列
使用所有行操作,而Max_H
使用最大操作
小时。
- 展开
All_Rows
的所有行。
- 添加一个条件列
IF Max_H = all_rows.Hour THEN 1 ELSE 0
。
- 删除不需要的列。
所有操作都使用用户界面完成,但是代码如下:
let
Source = Table.FromRows(// code genereted from pasting above values //)
#"Grouped Rows" = Table.Group(#"Changed Type",{"ID","Date"},{{"All_Rows",each _,type table [ID=number,Date=date,Hour=time]},{"Max_H",each List.Max([Hour]),type time}}),#"Expanded All_Rows" = Table.ExpandTableColumn(#"Grouped Rows","All_Rows","Date","Hour"},{"All_Rows.ID","All_Rows.Date","All_Rows.Hour"}),#"Added Conditional Column" = Table.AddColumn(#"Expanded All_Rows","Max_Row",each if [All_Rows.Hour] = [Max_H] then 1 else 0),#"Removed Columns" = Table.RemoveColumns(#"Added Conditional Column",{"All_Rows.Date","All_Rows.ID","Max_H"})
in
#"Removed Columns"
请注意,最大值是同时为ID
和Date
计算的,但是我想您可以弄清楚如果只想为ID
做该怎么办。
本文链接:https://www.f2er.com/3103658.html