如何从 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)。
步骤如下:
- 使用“转换”选项卡上的[分组依据](高级)。按 "LogTime" 分组。进行两个聚合(minTime 和 maxTime")。操作:所有行。
- 添加两个自定义列,提取 StartTime 和 EndTime 记录。 (见剧本)
- 展开两列中的记录
- 创建自定义列(从 EndTime 中减去 StartTime)。将数据类型更改为持续时间
- 删除列 [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"
当您将此脚本复制到高级编辑器时,使用新源的空白查询,您应该能够查看应用的步骤。
我有一个 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)。
步骤如下:
- 使用“转换”选项卡上的[分组依据](高级)。按 "LogTime" 分组。进行两个聚合(minTime 和 maxTime")。操作:所有行。
- 添加两个自定义列,提取 StartTime 和 EndTime 记录。 (见剧本)
- 展开两列中的记录
- 创建自定义列(从 EndTime 中减去 StartTime)。将数据类型更改为持续时间
- 删除列 [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"
当您将此脚本复制到高级编辑器时,使用新源的空白查询,您应该能够查看应用的步骤。