Forum Discussion

antheoh's avatar
antheoh
Frequent Visitor
7 years ago
Solved

Split row in multiple other rows in Power Bi based on a division of a number

In Power BI Desktop i have a table from an excel file and i want to split a row based on a division between the value of a specific column and a default number. In more details lets assume tha we ha...
  • Nolock's avatar
    7 years ago

    Hi antheoh,

    you can create a list for every line and than expand this list into rows.

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwUNJRclSK1YlWMgGznZRiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Amount = _t, Description = _t]),
        ChangeType = Table.TransformColumnTypes(Source,{{"Amount", Int64.Type}, {"Description", type text}}),
    
        // your denominator
        Denominator = 50,
    
        // generates a list of repeated values
        fnGenerateList = (value as number, denominator as number) as list =>
            let
                Count = value / denominator,
                List = List.Numbers(Count, Count, 0)
            in
                List,
    
        NewAmountColumn = Table.AddColumn(ChangeType, "NewAmountColumn", each fnGenerateList([Amount], Denominator)),
        ExpandedNewAmountColumn = Table.ExpandListColumn(NewAmountColumn, "NewAmountColumn"),
        RemoveOldAmountColumn = Table.RemoveColumns(ExpandedNewAmountColumn,{"Amount"}),
        RenameNewAmountColumn = Table.RenameColumns(RemoveOldAmountColumn,{{"NewAmountColumn", "Amount"}})
    in
        RenameNewAmountColumn