DateTime.IsInPreviousHour

D

T

The M Code Behind the Power Query M function DateTime.IsInPreviousHour

Syntax of DateTime.IsInPreviousHour Function

The DateTime.IsInPreviousHour function takes in a single parameter, which is the date and time value that you want to check. The syntax for this function is as follows:


DateTime.IsInPreviousHour(dateTime as any) as logical


Here, the dateTime parameter represents the date and time value that you want to check. The function returns a logical value, which is true if the provided value falls within the previous hour, and false otherwise.

Understanding the M Code behind DateTime.IsInPreviousHour Function

The DateTime.IsInPreviousHour function is a combination of several M functions that perform various calculations to determine whether the given date and time value falls within the previous hour. Let's break down the M code behind this function to understand how it works.


(dateTime) =>

let

timeDifference = DateTime.LocalNow() – dateTime,

seconds = Duration.TotalSeconds(timeDifference),

isInHour = seconds >= 0 and seconds <= 3600

in

isInHour


The code above shows the M code behind the DateTime.IsInPreviousHour function. Let's go through each line of the code to understand how it works.

Line 1 - The Function Parameter

The first line of the code defines the function parameter, which is dateTime. This parameter represents the date and time value that you want to check.

Line 2 - Defining LocalNow Function

The let keyword is used to define a variable that will hold the result of the DateTime.LocalNow() function. This function returns the current local date and time value.

Line 3 - Calculating the Time Difference

The timeDifference variable holds the result of subtracting the dateTime parameter from the current local date and time value returned by the previous function. This calculation gives us the time difference between the two values.

Line 4 - Converting to Seconds

The seconds variable holds the result of converting the time difference from the previous line to seconds. This is done using the Duration.TotalSeconds function.

Line 5 - Checking if Value is in Previous Hour

The isInHour variable holds the result of checking if the seconds value is between 0 and 3600. If the value falls within this range, it means that the provided date and time value falls within the previous hour, and the function returns true, otherwise, it returns false.

Examples of Using DateTime.IsInPreviousHour Function

Let's look at some examples of how you can use the DateTime.IsInPreviousHour function in Power Query M language.

Example 1 - Checking if a Date and Time Value is in Previous Hour

Suppose you have a date and time value in the following format: "2022-01-01T12:30:00". You can use the DateTime.IsInPreviousHour function to check if this value falls within the previous hour as follows:


DateTime.IsInPreviousHour(DateTime.FromText(“2022-01-01T12:30:00”))


Example 2 - Filtering Rows for Values in Previous Hour

Suppose you have a table with a Timestamp column that contains date and time values. You can use the DateTime.IsInPreviousHour function to filter the rows for values that fall within the previous hour as follows:


let

Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText(“i45WCgoySypW0lFQKinK1MDUhJCUQK1FhYJ0lG0CO8QA”, BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Timestamp = _t]),

#”Changed Type” = Table.TransformColumnTypes(Source,{{“Timestamp”, type datetime}}),

#”Filtered Rows” = Table.SelectRows(#”Changed Type”, each DateTime.IsInPreviousHour([Timestamp])),

in

#”Filtered Rows”


In the above code, we first load the table data into the Source variable. We then convert the Timestamp column to a datetime data type using the Table.TransformColumnTypes function.

Finally, we filter the rows of the table using the Table.SelectRows function and the DateTime.IsInPreviousHour function, which returns only the rows that contain date and time values falling within the previous hour.

In conclusion, the DateTime.IsInPreviousHour function is a useful Power Query M language function that allows you to check if a given date and time value falls within the previous hour. We have explored the M code behind this function and provided examples of how you can use it to filter rows in a table or check if a particular date and time value falls within the previous hour. By using this function in your data transformations, you can efficiently handle date and time values and perform various calculations based on them.

Power Query and M Training Courses by G Com Solutions (0800 998 9248)

Upcoming Courses

Contact Us

    Subject

    Your Name (required)

    Company/Organisation

    Email (required)

    Telephone

    Training Course(s)

    Your Message

    Upload Example Document(s) (Zip multiple files)