如何从 table 中获取最小和最大日期?

How can I get the min and max date from a table?

我有一个 table 如下。我想在 power bi 中有另一个 table,它可以告诉我在特定日期什么是 Min(StartTime) 和 Max(endTime)。

LogTime   Job_Name   StartTime       endTime
9/18/2018   Job1    9/18/2018 10:27 9/18/2018 10:28
9/18/2018   Job2    9/18/2018 9:47  9/18/2018 9:51
9/18/2018   Job3    9/18/2018 9:41  9/18/2018 9:50
9/18/2018   Job4    9/18/2018 9:46  9/18/2018 9:48
9/17/2018   Job5    9/17/2018 11:23 9/17/2018 11:25
9/17/2018   Job6    9/17/2018 11:17 9/17/2018 11:24
9/16/2018   Job7    9/16/2018 17:20 9/16/2018 17:23
9/16/2018   Job8    9/16/2018 17:18 9/16/2018 17:21
9/16/2018   Job9    9/16/2018 17:17 9/16/2018 17:21
9/14/2018   Job10   9/14/2018 17:19 9/14/2018 17:21
9/14/2018   Job11   9/14/2018 17:19 9/14/2018 17:20
9/14/2018   Job12   9/14/2018 17:17 9/14/2018 17:20
9/14/2018   Job13   9/14/2018 17:16 9/14/2018 17:20

必填Table:

LogTime      StartTime       endTime        endTime-StartTime
9/18/2018   9/18/2018 9:46  9/18/2018 10:28 hh:mm
9/17/2018   9/17/2018 11:17 9/17/2018 11:25 
9/16/2018   9/16/2018 17:17 9/16/2018 17:23 
9/14/2018   9/14/2018 17:16 9/14/2018 17:21 

您可以使用 Power Query 编辑器实现此目的。我将起点(您的数据)命名为 baseTable 并将其用作目标 Table 的来源(您需要的 Table)。

步骤如下:

  1. 使用“转换”选项卡上的[分组依据](高级)。按 "LogTime" 分组。进行两个聚合(minTime 和 maxTime")。操作:所有行。
  2. 添加两个自定义列,提取 StartTime 和 EndTime 记录。 (见剧本)
  3. 展开两列中的记录
  4. 创建自定义列(从 EndTime 中减去 StartTime)。将数据类型更改为持续时间
  5. 删除列 [MinTime] 和 [MaxTime]

脚本如下所示:

let
Source = #"baseTable",
#"Grouped Rows" = Table.Group(Source, {"LogTime"}, {{"minTime", each _, type table}, {"maxTime", each _, type table}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "minStart", each Table.Min([minTime],"StartTime")),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "maxEnd", each Table.Max([maxTime],"endTime")),
#"Expanded minStart" = Table.ExpandRecordColumn(#"Added Custom1", "minStart", {"StartTime"}, {"StartTime"}),
#"Expanded maxEnd" = Table.ExpandRecordColumn(#"Expanded minStart", "maxEnd", {"endTime"}, {"endTime"}),
#"Added Custom2" = Table.AddColumn(#"Expanded maxEnd", "endTime-StartTime", each [endTime]-[StartTime]),
#"Changed Type" = Table.TransformColumnTypes(#"Added Custom2",{{"StartTime", type time}, {"endTime", type time}, {"endTime-StartTime", type duration}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"minTime", "maxTime"})
in
#"Removed Columns"

当您将此脚本复制到高级编辑器时,使用新源的空白查询,您应该能够查看应用的步骤。