Преобразование записей о сотрудниках в одну строку в сводную схему Санки - PullRequest
1 голос
/ 16 мая 2019

Хочу сделать следующее в PowerQuery, желательно в PowerBI (но удобно пользоваться Python):

У меня есть записи в этом макете:

Employee ID, Employee Classification, Start Date, End Date
9999999, Financial-1, March 17 2008, June 7 2009
9999999, Financial-2, June 8 2009, December 2 2016
9999999, Financial-3, December 3 2016, November 12 2017
9999999, Ninja-4, November 13 2017, December 31 2018

Я хочу преобразоватьэто к следующему (используя даты в качестве родителя / ребенка):

Employee ID, Source, Destination
9999999, Financial-1, Financial-2
9999999, Financial-2, Financial-3
9999999, Financial-3, Ninja-4

Спасибо, и извините, если это где-то дубликат, я не знал, что именно искать в Интернете.

1 Ответ

0 голосов
/ 16 мая 2019

Я бы попытался создать новый столбец NextDay, который добавляет один день к End Date, а затем выполнить сопоставление с самообъединением NextDay с Start Date.

let
    Source = <Your Source Here>
    #"Added Custom" = Table.AddColumn(Source, "NextDay", each Date.AddDays([#"End Date"],1), type date),
    #"Merged Queries" = Table.NestedJoin(#"Added Custom", {"NextDay"}, #"Added Custom", {"Start Date"}, "Added Custom", JoinKind.LeftOuter),
    #"Expanded Added Custom" = Table.ExpandTableColumn(#"Merged Queries", "Added Custom", {"Employee Classification"}, {"Destination"})
in
    #"Expanded Added Custom"

. Затем вы можете удалитьненужные столбцы и переименуйте столбцы по желанию.

...