Forum Discussion

Oleg222's avatar
Oleg222
Helper II
4 years ago
Solved

Unique duration

Hi all. I have a table on which it is necessary to calculate the net duration by "Code" and Type = "In". For example, for "Code" = T_3212, the measure should show the sum of the durations for rows 2...
  • lbendlin's avatar
    lbendlin
    4 years ago

    Here is how this would look like in Power Query:

     

    let
        Джерело = Csv.Document(File.Contents("C:\users\xxx\downloads\data.csv")),
        #"Promoted Headers" = Table.PromoteHeaders(Джерело, [PromoteAllScalars=true]),
        #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Start", type datetime}, {"End", type datetime}}),
        #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Type] = "In")),
        MinutesBetween = (start,end) => List.Generate(()=>start,each _ <= end, each _ + #duration(0,0,1,0)),
        #"Added Custom" = Table.AddColumn(#"Filtered Rows", "Minutes", each MinutesBetween([Start],[End])),
        #"Expanded Minutes" = Table.ExpandListColumn(#"Added Custom", "Minutes"),
        #"Removed Duplicates" = Table.Distinct(#"Expanded Minutes", {"Minutes", "Code"}),
        #"Grouped Rows" = Table.Group(#"Removed Duplicates", {"Code"}, {{"Total Minutes", each Table.RowCount(_), Int64.Type}})
    in
        #"Grouped Rows"