Power Query 中的 Countif yes
Countif yes in Power Query
如何在 Power 查询 中计算日期?
我有多个包含 2 个日期列的列。
我需要计算满足状态的 2 个日期标准的行数。
标准和objective:识别明显的潜在重叠。如果一个订单号在最后一个订单完成之前开始,我们应该将其标记为是。
我的数据模型有一个日期 table。我的挑战是将 Rep# 中的当前行作为标准。请参阅示例数据以获取更多参考。下面列出了我使用的公式。另外,我附上了数据图片。
=IF((COUNTIFS($C:$C,"<="&D2,$D:$D,">="&C2,$A:$A,"="&A2))>1,"YES","NO")
我的挑战是将 Rep# 中的当前行作为标准。请查看示例数据以获取更多参考。
A B C D E
15 84165 6/6/17 6:22 PM 6/6/17 8:45 PM NO
15 83671 6/6/17 8:46 PM 6/6/17 10:11 PM NO
15 84410 6/13/17 11:27 AM 6/13/17 1:17 PM YES
15 83410 6/13/17 11:27 AM 6/13/17 1:32 PM YES
15 84471 6/13/17 1:18 PM 6/13/17 1:50 PM YES
15 84773 6/17/17 3:03 PM 6/17/17 6:35 PM NO
15 84471 6/27/17 11:06 PM 6/28/17 1:05 AM NO
15 85092 6/28/17 1:07 AM 6/28/17 2:05 AM NO
15 85577 7/11/17 6:10 PM 7/11/17 8:01 PM YES
15 85546 7/11/17 6:10 PM 7/11/17 9:30 PM YES
提前致谢。
假设数据在 Table1 范围内,列 headers 如您的示例所示,那么这应该有效
在打开的 Power Query 编辑器 window 和功能区栏上,选择:主页 => 高级编辑器并将其粘贴到
神奇的是第 3 行,它根据 Rep、Time In 和 Time Out 的当前值的标准获取所有匹配的行
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Rep#", Int64.Type}, {"Order#", Int64.Type}, {"Date/Time In", type datetime}, {"Date/Time Out", type datetime}}),
Total = Table.AddColumn(#"Changed Type", "Count",(i) => Table.RowCount(Table.SelectRows(#"Changed Type", each ([#"Rep#"] = i[#"Rep#"] and [#"Date/Time In"] <= i[#"Date/Time Out"] and [#"Date/Time Out"] >= i[#"Date/Time In"] ))), type number ),
#"Added Custom" = Table.AddColumn(Total, "YES_NO", each if [Count]>1 then "YES" else "NO")
in #"Added Custom"
如何在 Power 查询 中计算日期?
我有多个包含 2 个日期列的列。 我需要计算满足状态的 2 个日期标准的行数。
标准和objective:识别明显的潜在重叠。如果一个订单号在最后一个订单完成之前开始,我们应该将其标记为是。
我的数据模型有一个日期 table。我的挑战是将 Rep# 中的当前行作为标准。请参阅示例数据以获取更多参考。下面列出了我使用的公式。另外,我附上了数据图片。
=IF((COUNTIFS($C:$C,"<="&D2,$D:$D,">="&C2,$A:$A,"="&A2))>1,"YES","NO")
我的挑战是将 Rep# 中的当前行作为标准。请查看示例数据以获取更多参考。
A B C D E
15 84165 6/6/17 6:22 PM 6/6/17 8:45 PM NO
15 83671 6/6/17 8:46 PM 6/6/17 10:11 PM NO
15 84410 6/13/17 11:27 AM 6/13/17 1:17 PM YES
15 83410 6/13/17 11:27 AM 6/13/17 1:32 PM YES
15 84471 6/13/17 1:18 PM 6/13/17 1:50 PM YES
15 84773 6/17/17 3:03 PM 6/17/17 6:35 PM NO
15 84471 6/27/17 11:06 PM 6/28/17 1:05 AM NO
15 85092 6/28/17 1:07 AM 6/28/17 2:05 AM NO
15 85577 7/11/17 6:10 PM 7/11/17 8:01 PM YES
15 85546 7/11/17 6:10 PM 7/11/17 9:30 PM YES
提前致谢。
假设数据在 Table1 范围内,列 headers 如您的示例所示,那么这应该有效
在打开的 Power Query 编辑器 window 和功能区栏上,选择:主页 => 高级编辑器并将其粘贴到
神奇的是第 3 行,它根据 Rep、Time In 和 Time Out 的当前值的标准获取所有匹配的行
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Rep#", Int64.Type}, {"Order#", Int64.Type}, {"Date/Time In", type datetime}, {"Date/Time Out", type datetime}}),
Total = Table.AddColumn(#"Changed Type", "Count",(i) => Table.RowCount(Table.SelectRows(#"Changed Type", each ([#"Rep#"] = i[#"Rep#"] and [#"Date/Time In"] <= i[#"Date/Time Out"] and [#"Date/Time Out"] >= i[#"Date/Time In"] ))), type number ),
#"Added Custom" = Table.AddColumn(Total, "YES_NO", each if [Count]>1 then "YES" else "NO")
in #"Added Custom"