Forum Discussion

giorgionway's avatar
giorgionway
Frequent Visitor
6 years ago
Solved

work attendance

hello, got data from time attendance machine and want to create report and stuck. first pic is data and i want to get pivot (pic 2), i know its easy but couldnt create calendar right. anyone help? t...
  • Anonymous's avatar
    Anonymous
    6 years ago

    Hi giorgionway ,

    If you mean extract the total hours based on 'in', 'out' fields, you can try to use the following query:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCknKzMkszlTSUXJPzS9KTwUyDI30DA30DC0VDA2sDAyQBYyMQAKxOsjaXBLLMlNQdBmi6zKE6XJKLCnNBWnyy8xLRFZiia7FANMiFPcZorvPkBj3GaK7z5Cw+wzR3GeI5L5YAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [City = _t, #"Worker Name" = _t, In = _t, Out = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"City", type text}, {"Worker Name", type text}, {"In", type datetime}, {"Out", type datetime}}),
        #"Grouped Rows" = Table.Group(#"Changed Type", {"Worker Name"}, {{"Contents", each Table.AddColumn(Table.AddColumn(_,"Date",each Date.From([Out])),"Hour",each Duration.TotalHours([Out]-[In])), type table}}),
        #"Expanded Contents" = Table.ExpandTableColumn(#"Grouped Rows", "Contents", {"Date", "Hour"}, {"Date", "Hour"}),
        #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Expanded Contents", {{"Date", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(#"Expanded Contents", {{"Date", type text}}, "en-US")[Date]), "Date", "Hour", List.Sum)
    in
        #"Pivoted Column"

    If above not meet for your requirement, can you please explain more about the logic about transforming your date fields?

    How to Get Your Question Answered Quickly 

    Regards,

    Xiaoxin Sheng