Forum Discussion

anshpalash's avatar
anshpalash
Helper II
4 years ago
Solved

Data Cleaning

Hi,

 

I have a dataset in the form.

1nullStart: 7:20nullnullDuration: 3nullEnd:10
1nullnullnullnullnullnullnull
1nullnullnullnullnullnullnull
1nullnullnullnullnullnullnull
2Start: 6:30nullnullDuration:5nullnullEnd:11
2nullnullnullnullnullnullnull
2nullnullnullnullnullnullnull
2nullnullnullnullnullnullnull
2nullnullnullnullnullnullnull
3nullnullnullnullnullnullnull
3nullnullnullnullnullnullnull
3Start: 9:15nullnullDuration:4nullEnd:1null
3nullnullnullnullnullnullnull
3nullnullnullnullnullnullnull
3nullnullnullnullnullnullnull

 

I want to convert it to format:

 

1Start: 7:20Duration: 3End:10
2Start: 6:30Duration:5End:11
3Start: 9:15Duration:4End:1

 

I would really appreciate if someone could advise how to achieve this since there is so much irregularity in the position of the start, duration, and end across different files. Thank you!

  • You can this step to your query.

    = Table.FromRows( List.RemoveNulls( List.Transform(Table.ToRows(PriorStepName), each let l=List.RemoveNulls(_) in if List.Count(l)>1 then l else null) ), {"ID","Start","Duration","End"} )

    Result

    Jakinta_0-1632940649523.png

     

4 Replies

  • Jakinta's avatar
    Jakinta
    Solution Sage

    You can add this step to your query.

     

    = Table.FromRows( List.RemoveNulls( List.Transform(Table.ToRows(PriorStepName), each let l=List.RemoveNulls(_) in if List.Count(l)>1 then l else null) ), {"ID","Start","Duration","End"} )

     

    Result

     

  • You can this step to your query.

    = Table.FromRows( List.RemoveNulls( List.Transform(Table.ToRows(PriorStepName), each let l=List.RemoveNulls(_) in if List.Count(l)>1 then l else null) ), {"ID","Start","Duration","End"} )

    Result

    Jakinta_0-1632940649523.png

     

  • Jakinta's avatar
    Jakinta
    Solution Sage

    ...or slightly cleaner...

    = Table.FromRows( List.Select(List.Transform(Table.ToRows( PriorStepName ), List.RemoveNulls), each List.Count(_)>1 ), {"ID","Start","Duration","End"} )