Forum Discussion
Anonymous
6 years agoNot applicable
Need help in merging data
Hi All,
Actually im struggling in below case where date needs to be added to all rows of key value of first col that is MST_TO
| MST_TO | Transport_Order__c | 07_Order Booking date | 11_Order Depart (CFS/CY) Origin date | 13_Shipment In Gate Origin POL date | 14_Shipment Manifest date | 17_Shipment POL Depart date | 18_Shipment POD Arrival date | 19_Shipment POD Discharge date | 25_Shipment Freight Available | 26_Shipment Out Gate Dest POD date | 31_Shipment Out Gate Dest Interim date | 36_Shipment Delivered | 05_Order Pickup date | 01_Order Create date | 02_Order Approved date | 03_Order Requested Ship date | 04_Order Planned date | 04_Order Dispatched date | 06_Order Docs Validated date | 06_Order Docs Received date | 07_Order Booking Cancelled date | 08_Order Arrival (CFS/CY) Origin date | 17_Transship Depart date | 17_Transship Arrival date |
| AAA | DDDD | null | null | 4/10/2020 | 5/14/2020 | 5/12/2020 | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null | null |
| AAA | DDDD | null | null | 4/10/2020 | 5/14/2020 | 5/12/2020 | null | null | null | null | null | 6/18/2020 | null | null | null | null | null | null | null | null | null | null | null | null |
| AAA | null | null | 4/10/2020 | 5/14/2020 | 5/12/2020 | null | null | null | null | null | null | 4/9/2020 | null | 4/8/2020 | 4/10/2020 | 4/8/2020 | 4/8/2020 | 4/14/2020 | 4/9/2020 | null | 4/10/2020 | null | null | |
| BBB | EEE | null | null | 5/4/2020 | 5/5/2020 | 5/7/2020 | 5/24/2020 | 5/25/2020 | null | 5/28/2020 | null | null | null | null | null | null | null | null | null | null | null | null | 5/13/2020 | 5/9/2020 |
| BBB | FFF | null | null | 5/4/2020 | 5/5/2020 | 5/7/2020 | 5/24/2020 | 5/25/2020 | null | 5/28/2020 | null | null | null | null | null | null | null | null | null | null | null | null | 5/13/2020 | 5/9/2020 |
| CCCC | GGGG | null | null | 3/28/2020 | 5/22/2020 | 4/5/2020 | 5/25/2020 | 5/26/2020 | null | 6/4/2020 | null | null | null | null | null | null | null | null | null | null | null | null | 5/19/2020 | 5/11/2020 |
| CCCC | null | null | null | null | null | null | null | null | null | null | null | 3/27/2020 | 3/17/2020 | 3/18/2020 | 3/25/2020 | 3/25/2020 | 3/19/2020 | 4/2/2020 | 3/27/2020 | null | null | null | null | |
| CCCC | HHHH | null | null | 3/28/2020 | 5/22/2020 | 4/5/2020 | 5/25/2020 | 5/26/2020 | null | 6/4/2020 | null | null | null | null | null | null | null | null | null | null | null | null | 5/19/2020 | 5/11/2020 |
desired output is
| MST_TO_NO__c | Transport_Order__c | 07_Order Booking date | 11_Order Depart (CFS/CY) Origin date | 13_Shipment In Gate Origin POL date | 14_Shipment Manifest date | 17_Shipment POL Depart date | 18_Shipment POD Arrival date | 19_Shipment POD Discharge date | 25_Shipment Freight Available | 26_Shipment Out Gate Dest POD date | 31_Shipment Out Gate Dest Interim date | 36_Shipment Delivered | 05_Order Pickup date | 01_Order Create date | 02_Order Approved date | 03_Order Requested Ship date | 04_Order Planned date | 04_Order Dispatched date | 06_Order Docs Validated date | 06_Order Docs Received date | 07_Order Booking Cancelled date | 08_Order Arrival (CFS/CY) Origin date | 17_Transship Depart date | 17_Transship Arrival date |
| AAA | DDDD | null | null | 4/10/2020 | 5/14/2020 | 5/12/2020 | null | null | null | null | null | 6/18/2020 | 4/9/2020 | null | 4/8/2020 | 4/10/2020 | 4/8/2020 | 4/8/2020 | 4/14/2020 | 4/9/2020 | null | 4/10/2020 | null | null |
| AAA | DDDD | null | null | 4/10/2020 | 5/14/2020 | 5/12/2020 | null | null | null | null | null | 6/18/2020 | 4/9/2020 | null | 4/8/2020 | 4/10/2020 | 4/8/2020 | 4/8/2020 | 4/14/2020 | 4/9/2020 | null | 4/10/2020 | null | null |
| AAA | null | null | 4/10/2020 | 5/14/2020 | 5/12/2020 | null | null | null | null | null | 6/18/2020 | 4/9/2020 | null | 4/8/2020 | 4/10/2020 | 4/8/2020 | 4/8/2020 | 4/14/2020 | 4/9/2020 | null | 4/10/2020 | null | null | |
| BBB | EEE | null | null | 5/4/2020 | 5/5/2020 | 5/7/2020 | 5/24/2020 | 5/25/2020 | null | 5/28/2020 | null | null | null | null | null | null | null | null | null | null | null | null | 5/13/2020 | 5/9/2020 |
| BBB | FFF | null | null | 5/4/2020 | 5/5/2020 | 5/7/2020 | 5/24/2020 | 5/25/2020 | null | 5/28/2020 | null | null | null | null | null | null | null | null | null | null | null | null | 5/13/2020 | 5/9/2020 |
| CCCC | GGGG | null | null | 3/28/2020 | 5/22/2020 | 4/5/2020 | 5/25/2020 | 5/26/2020 | null | 6/4/2020 | null | null | 3/27/2020 | 3/17/2020 | 3/18/2020 | 3/25/2020 | 3/25/2020 | 3/19/2020 | 4/2/2020 | 3/27/2020 | null | null | 5/19/2020 | 5/11/2020 |
| CCCC | null | null | 3/28/2020 | 5/22/2020 | 4/5/2020 | 5/25/2020 | 5/26/2020 | null | 6/4/2020 | null | null | 3/27/2020 | 3/17/2020 | 3/18/2020 | 3/25/2020 | 3/25/2020 | 3/19/2020 | 4/2/2020 | 3/27/2020 | null | null | 5/19/2020 | 5/11/2020 | |
| CCCC | HHHH | null | null | 3/28/2020 | 5/22/2020 | 4/5/2020 | 5/25/2020 | 5/26/2020 | null | 6/4/2020 | null | null | 3/27/2020 | 3/17/2020 | 3/18/2020 | 3/25/2020 | 3/25/2020 | 3/19/2020 | 4/2/2020 | 3/27/2020 | null | null | 5/19/2020 | 5/11/2020 |
- You might still be able to do this with Fill Down if you sort on MST_TO and Date columns first, otherwise see if this does what you need:
My thinking is to group by item, find the MAX Date for each item, then merge back into table. You could possibly create a custom function to do this for you, but here is the M code for the sample data I created to do this. You will need to paste this into three blank queries in Advanced Editor and name the tables as below to see it in action.
RawData
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUVKK1YEwDBW8SnMqdRSMDIwM4IKoDCdkhpEBugYnrOqUYmMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Item = _t, Date = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Item", type text}, {"Date", type date}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 1, 1)
in
#"Added Index"
FillDate
let
Source = RawData,
#"Grouped Rows" = Table.Group(Source, {"Item"}, {{"Date", each List.Max([Date]), type date}})
in
#"Grouped Rows"
Merge1
let
Source = Table.NestedJoin(RawData, {"Item"}, FillDate, {"Item"}, "FillDate", JoinKind.LeftOuter),
#"Expanded FillDate" = Table.ExpandTableColumn(Source, "FillDate", {"Date"}, {"Date.1"})
in
#"Expanded FillDate"
5 Replies
- lbendlinSuper User
In Power Query there is a transform for that, called "Fill Down". Depending on your data you might also need to add a "Fill Up" step.
- AnonymousNot applicable
that would not solve the problem here as it fills up all the below or above columns irrespective of first column as key value consideration
- AllisonKennedyCommunity ChampionYou can sort by first column, then try fill down? We need more info here to help you.