Как найти самую последнюю дату из столбца в Power Query - MAX () - PullRequest
0 голосов
/ 22 мая 2018

Это для 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 

enter image description here

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

@ Алексис-Олсон Это полезно, мое уважение к спискам растет!Мне нужно было получить максимальную строку для каждой даты элемента (работника), я написал такой код:

#"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])), , а затем слил обратно, чтобы получить один элемент для максимальной даты для каждого работника.Я нахожу сгруппированные строки со всеми строками удобными, когда мне нужен список столбцов

0 голосов
/ 22 мая 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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...