A
- AccessControlEntry.ConditionToIdentities
- Access.Database
- ActiveDirectory.Domains
- AdobeAnalytics.Cubes
- AdoDotNet.DataSource
- AdoDotNet.Query
- AnalysisServices.Database
- AnalysisServices.Databases
- AzureStorage.BlobContents
- AzureStorage.Blobs
- AzureStorage.DataLake
- AzureStorage.DataLakeContents
- AzureStorage.Tables
B
- BinaryFormat.Binary
- BinaryFormat.Byte
- BinaryFormat.ByteOrder
- BinaryFormat.Choice
- BinaryFormat.Decimal
- BinaryFormat.Double
- BinaryFormat.Group
- BinaryFormat.Length
- BinaryFormat.List
- BinaryFormat.Null
- BinaryFormat.Record
- BinaryFormat.SignedInteger16
- BinaryFormat.SignedInteger32
- BinaryFormat.SignedInteger64
- BinaryFormat.Single
- BinaryFormat.Text
- BinaryFormat.Transform
- BinaryFormat.UnsignedInteger16
- BinaryFormat.UnsignedInteger32
- BinaryFormat.UnsignedInteger64
- BinaryFormat.7BitEncodedSignedInteger
- BinaryFormat.7BitEncodedUnsignedInteger
- Binary data
- Binary.ApproximateLength
- Binary.Buffer
- Binary.Combine
- Binary.Compress
- Binary.Decompress
- Binary.From
- Binary.FromList
- Binary.FromText
- Binary.InferContentType
- Binary.Length
- Binary.Range
- Binary.Split
- Binary.ToList
- Binary.ToText
- Binary.View
- Binary.ViewError
- Binary.ViewFunction
- Byte.From
C
- Cdm.Contents
- Character.FromNumber
- Character.ToNumber
- Combiner.CombineTextByDelimiter
- Combiner.CombineTextByEachDelimiter
- Combiner.CombineTextByLengths
- Combiner.CombineTextByPositions
- Combiner.CombineTextByRanges
- Comparer.FromCulture
- Comparer.Ordinal
- Comparer.OrdinalIgnoreCase
- Controlling byte order
- Csv.Document
- Cube.AddAndExpandDimensionColumn
- Cube.AddMeasureColumn
- Cube.ApplyParameter
- Cube.AttributeMemberId
- Cube.AttributeMemberProperty
- Cube.CollapseAndRemoveColumns
- Cube.Dimensions
- Cube.DisplayFolders
- Cube.MeasureProperties
- Cube.MeasureProperty
- Cube.Measures
- Cube.Parameters
- Cube.Properties
- Cube.PropertyKey
- Cube.ReplaceDimensions
- Cube.Transform
- Currency.From
D
- DateTime.AddZone
- DateTime.Date
- DateTime.FixedLocalNow
- DateTime.From
- DateTime.FromFileTime
- DateTime.FromText
- DateTime.IsInCurrentHour
- DateTime.IsInCurrentMinute
- DateTime.IsInCurrentSecond
- DateTime.IsInNextHour
- DateTime.IsInNextMinute
- DateTime.IsInNextNHours
- DateTime.IsInNextNMinutes
- DateTime.IsInNextNSeconds
- DateTime.IsInNextSecond
- DateTime.IsInPreviousHour
- DateTime.IsInPreviousMinute
- DateTime.IsInPreviousNHours
- DateTime.IsInPreviousNMinutes
- DateTime.IsInPreviousNSeconds
- DateTime.IsInPreviousSecond
- DateTime.LocalNow
- DateTime.Time
- DateTime.ToRecord
- DateTime.ToText
- Date.AddDays
- Date.AddMonths
- Date.AddQuarters
- Date.AddWeeks
- Date.AddYears
- Date.Day
- Date.DayOfWeek
- Date.DayOfWeekName
- Date.DayOfYear
- Date.DaysInMonth
- Date.EndOfDay
- Date.EndOfMonth
- Date.EndOfQuarter
- Date.EndOfWeek
- Date.EndOfYear
- Date.From
- Date.FromText
- Date.IsInCurrentDay
- Date.IsInCurrentMonth
- Date.IsInCurrentQuarter
- Date.IsInCurrentWeek
- Date.IsInCurrentYear
- Date.IsInNextDay
- Date.IsInNextMonth
- Date.IsInNextNDays
- Date.IsInNextNMonths
- Date.IsInNextNQuarters
- Date.IsInNextNWeeks
- Date.IsInNextNYears
- Date.IsInNextQuarter
- Date.IsInNextWeek
- Date.IsInNextYear
- Date.IsInPreviousDay
- Date.IsInPreviousMonth
- Date.IsInPreviousNDays
- Date.IsInPreviousNMonths
- Date.IsInPreviousNQuarters
- Date.IsInPreviousNWeeks
- Date.IsInPreviousNYears
- Date.IsInPreviousQuarter
- Date.IsInPreviousWeek
- Date.IsInPreviousYear
- Date.IsInYearToDate
- Date.IsLeapYear
- Date.Month
- Date.MonthName
- Date.QuarterOfYear
- Date.StartOfDay
- Date.StartOfMonth
- Date.StartOfQuarter
- Date.StartOfWeek
- Date.StartOfYear
- Date.ToRecord
- Date.ToText
- Date.WeekOfMonth
- Date.WeekOfYear
- Date.Year
- DB2.Database
- Decimal.From
- Diagnostics.ActivityId
- Diagnostics.Trace
- DirectQueryCapabilities.From
- Double.From
- Duration.Days
- Duration.From
- Duration.FromText
- Duration.Hours
- Duration.Minutes
- Duration.Seconds
- Duration.ToRecord
- Duration.TotalDays
- Duration.TotalHours
- Duration.TotalMinutes
- Duration.TotalSeconds
- Duration.ToText
E
F
G
H
I
L
- Lines.FromBinary
- Lines.FromText
- Lines.ToBinary
- Lines.ToText
- List.Accumulate
- List.AllTrue
- List.Alternate
- List.AnyTrue
- List.Average
- List.Buffer
- List.Combine
- List.ConformToPageReader
- List.Contains
- List.ContainsAll
- List.ContainsAny
- List.Count
- List.Covariance
- List.Dates
- List.DateTimes
- List.DateTimeZones
- List.Difference
- List.Distinct
- List.Durations
- List.FindText
- List.First
- List.FirstN
- List.Generate
- List.InsertRange
- List.Intersect
- List.IsDistinct
- List.IsEmpty
- List.Last
- List.LastN
- List.MatchesAll
- List.MatchesAny
- List.Max
- List.MaxN
- List.Median
- List.Min
- List.MinN
- List.Mode
- List.Modes
- List.NonNullCount
- List.Numbers
- List.Percentile
- List.PositionOf
- List.PositionOfAny
- List.Positions
- List.Product
- List.Random
- List.Range
- List.RemoveFirstN
- List.RemoveItems
- List.RemoveLastN
- List.RemoveMatchingItems
- List.RemoveNulls
- List.RemoveRange
- List.Repeat
- List.ReplaceMatchingItems
- List.ReplaceRange
- List.ReplaceValue
- List.Reverse
- List.Select
- List.Single
- List.SingleOrDefault
- List.Skip
- List.Sort
- List.Split
- List.StandardDeviation
- List.Sum
- List.Times
- List.Transform
- List.TransformMany
- List.Union
- List.Zip
- Logical.From
- Logical.FromText
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.