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"