Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Fill Down/Up per ID

Hi,    we need to Fill Down/Up by ID (currency) because we have no values for weekends.        We want to fill it down by Currency ID. This is an example, we have (20+) currencies.    T...
  • rohit_singh's avatar
    3 years ago

    Hi Anonymous ,

    You can try something like this. Please open a blank query--> Advanced editor-->Remove any existing code and copy and paste the below code.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcvTxUdJRMrLQNzTUNzIwMgJyDA3N9CzMlGJ1opWcHH0xZPUsIXKOoS6YcqZQOYip5khyeaU5OchmYpWDmokpFwsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Currency = _t, Date = _t, Value = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Currency", type text}, {"Date", type date}, {"Value", type number}}),
        #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Changed Type", {{"Date", type text}}, "en-GB"), List.Distinct(Table.TransformColumnTypes(#"Changed Type", {{"Date", type text}}, "en-GB")[Date]), "Date", "Value"),
        #"Demoted Headers" = Table.DemoteHeaders(#"Pivoted Column"),
        #"Transposed Table" = Table.Transpose(#"Demoted Headers"),
        #"Filled Down" = Table.FillDown(#"Transposed Table",{"Column1", "Column2", "Column3", "Column4"}),
        #"Transposed Table1" = Table.Transpose(#"Filled Down"),
        #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true]),
        #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Currency", type text}, {"28/11/2022", type number}, {"27/11/2022", type number}}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type1", {"Currency"}, "Attribute", "Value"),
        #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Date"}})
    in
        #"Renamed Columns"

    Input

    Output

     

    Kind regards,

    Rohit


    Please mark this answer as the solution if it resolves your issue.
    Appreciate your kudos!