Forum Discussion

gthistlethwaite's avatar
gthistlethwaite
Frequent Visitor
8 years ago
Solved

Date Difference Not Working

I have one column with Date of Incident, which is a Date/Time format (01/01/2017 08:00:00), and also a Date of Creation column, which is also the same format as the Date of Incident column.

 

We have a SLA to create the ticket in our system within 72 hours of it happening, and so need a metric to display those users who do not comply.

 

When I try to subtract the created date away from the incident date, I get an unexpected result.

New Custom Column displays -01:49:08.4915213

 

Can anybody tell me if I'm doing something wrong here?

Data is UK Date Format (dd/mm/yyyy hh:mm:ss).

 

 

 

 

Many thanks,

Gary

  • Greg_Deckler's avatar
    Greg_Deckler
    8 years ago

    Well, in Power Query you should get a result back of I believe Days:Hours:Minutes:Seconds. This all works for me here:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMLRQsLAyMAAiBUdfJR2EqCVCNFaHGNVGJKk2sTKFqI4FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type datetime}, {"Column2", type datetime}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each [Column2]-[Column1])
    in
        #"Added Custom"

    But, my stuff is all in US. Now, when this gets to DAX I end up getting values like 0.0461666666, 0.043055555, 0.450231481... which is exactly what I get if I do a ([Column2]-[Column1])*1.0 in DAX. There are ways to convert this to something useful but DATEDIFF is going to be your safest bet.

     

4 Replies

    • gthistlethwaite's avatar
      gthistlethwaite
      Frequent Visitor

      Hi Greg,

       

      The image shows me adding a Custom Column in Edit Quieries.

      But I have attempted to add column in DAX with also no joy.

       

      Kind regards,

      Gary

      • Greg_Deckler's avatar
        Greg_Deckler
        Community Champion

        Well, in Power Query you should get a result back of I believe Days:Hours:Minutes:Seconds. This all works for me here:

         

        let
            Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ31DcyMLRQsLAyMAAiBUdfJR2EqCVCNFaHGNVGJKk2sTKFqI4FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t]),
            #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type datetime}, {"Column2", type datetime}}),
            #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each [Column2]-[Column1])
        in
            #"Added Custom"

        But, my stuff is all in US. Now, when this gets to DAX I end up getting values like 0.0461666666, 0.043055555, 0.450231481... which is exactly what I get if I do a ([Column2]-[Column1])*1.0 in DAX. There are ways to convert this to something useful but DATEDIFF is going to be your safest bet.

         

    • parry2k's avatar
      parry2k
      Super User

      I can see it is done in power query, may be best is to use dax datediff function