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
What is DateTime.IsInNextHour Function?
The DateTime.IsInNextHour function is used to determine whether a given datetime value falls within the next hour. It returns a Boolean value that is true if the datetime value falls within the next hour, and false if it does not.
The syntax for DateTime.IsInNextHour function is:
DateTime.IsInNextHour(dateTime as any) as logical
The dateTime argument is a datetime value that you want to test.
The M Code Behind DateTime.IsInNextHour Function
Under the hood, the DateTime.IsInNextHour function is written in the M language, which is the programming language used in Power Query. The M language is a functional programming language that is easy to read and write.
The M code behind DateTime.IsInNextHour function is:
(dateTime) => DateTime.LocalNow() <= DateTime.LocalFromText(Text.Combine({Date.ToText(dateTime, "yyyy-MM-dd"), " ", Time.ToText(Time.AddHours(Time.FromText(Text.End(Text.FromText(Time.ToText(dateTime, "hh:mm:ss"), 8), 2)), 1), "hh:mm:ss")}), "yyyy-MM-dd hh:mm:ss")
Let's break down this code to understand how it works.
Step 1: Convert datetime to text
The first step in this function is to convert the given datetime value to text format using the Date.ToText and Time.ToText functions. We use these functions to extract the date and time components separately.
Text.Combine({Date.ToText(dateTime, “yyyy-MM-dd”), ” “, Time.ToText(Time.FromText(Text.End(Text.FromText(Time.ToText(dateTime, “hh:mm:ss”), 8), 2)), “hh:mm:ss”)})
Step 2: Add one hour to the time
Next, we add one hour to the time component using the Time.AddHours function.
Time.AddHours(Time.FromText(Text.End(Text.FromText(Time.ToText(dateTime, “hh:mm:ss”), 8), 2)), 1)
Step 3: Combine date and time into a single datetime value
Finally, we combine the date and time components into a single datetime value using the DateTime.LocalFromText function.
DateTime.LocalFromText(Text.Combine({Date.ToText(dateTime, “yyyy-MM-dd”), ” “, Time.ToText(Time.AddHours(Time.FromText(Text.End(Text.FromText(Time.ToText(dateTime, “hh:mm:ss”), 8), 2)), 1), “hh:mm:ss”)}), “yyyy-MM-dd hh:mm:ss”)
Step 4: Check if the datetime value falls within next hour
The final step in this function is to compare the result of the previous step with the current datetime value using the DateTime.LocalNow function. If the result of the previous step is less than or equal to the current datetime value, then the function returns true. Otherwise, it returns false.
DateTime.LocalNow() <= DateTime.LocalFromText(Text.Combine({Date.ToText(dateTime, "yyyy-MM-dd"), " ", Time.ToText(Time.AddHours(Time.FromText(Text.End(Text.FromText(Time.ToText(dateTime, "hh:mm:ss"), 8), 2)), 1), "hh:mm:ss")}), "yyyy-MM-dd hh:mm:ss")
In conclusion, the DateTime.IsInNextHour function is a powerful tool that can be used to determine whether a given datetime value falls within the next hour. The M code behind this function is a series of steps that work together to extract the date and time components, add one hour to the time, combine the components into a single datetime value, and then compare the result with the current datetime value. Understanding the M code behind this function can help you to better understand how Power Query works and how to use it to your advantage.