这是一个Power Query:
我正在编写一个报告来编译来自不同日期的信息,我需要一个列,该列可以在列表中生成最新日期,并且在单独的列中生成最新日期的日期:
整个列的大多数当前日期必须相同(上一个日期列相同)
Table Name : Skipped_Issue
Worker |Case |Report_Date |MOST_CURRENT_DATE |PREVIOUS_DATE
Tran |3000 |1/2018
Dhni |52451 |4/2018
Dhtuni |39656 |2/2018
对于最近的日期,您可以使用以下公式创建自定义列:
= Date.From(List.Max(NameOfPreviousStep[Report_Date]))
其中NameOfPreviousStep
引用了查询中的前一步骤(例如#"Changed Type"
或Source
)。
要获取倒数第二个日期,您可以创建一个自定义列,在删除MOST_CURRENT_DATE
后评估最大值
= Date.From(
List.Max(
List.RemoveItems(#"Added Custom"[Report_Date],
#"Added Custom"[MOST_CURRENT_DATE])))
这是示例数据的整个查询:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCilKzFPSUTI2MDAAUob6hvpGBoYWSrE60UouGXmZQDFTIxNTQyBtgipXUgqWNbY0MzUD0kZw2VgA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Worker = _t, Case = _t, Report_Date = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Worker", type text}, {"Case", Int64.Type}, {"Report_Date", type date}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "MOST_CURRENT_DATE", each Date.From(List.Max(Source[Report_Date])), type date),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "PREVIOUS_DATE", each Date.From(List.Max(List.RemoveItems(#"Added Custom"[Report_Date], #"Added Custom"[MOST_CURRENT_DATE]))), type date)
in
#"Added Custom1"
@ Alexis-Olson这很有用,我对名单的尊重上升了!我需要获得每个项目(工作者)日期的最大行,我写了这样的代码:
#"Grouped Rows" = Table.Group(#"Removed Columns", {"Worker"}, {{"AllDates", each _, type table}}),
#"Added ReportDate List" = Table.AddColumn(#"Grouped Rows", "ReportDates", each [AllDates][Report_Date]),
#"Added MaxReportDate" = Table.AddColumn(#"Added ReportDate List", "Report_Date", each List.Max([ReportDates])),
然后合并回来获得每个工人的最大日期的单项。当我需要一个列列表时,我找到了所有行都很方便的Grouped Rows