Date.IsInNextWeek

D

T

The M Code Behind the Power Query M function Date.IsInNextWeek

Understanding the Date.IsInNextWeek Function

The Date.IsInNextWeek function is a logical function that returns true if a given date falls within the next week, otherwise it returns false. The syntax for this function is as follows:


Date.IsInNextWeek(dateTime as any, optional firstDayOfWeek as nullable number) as logical


The dateTime parameter is the date that you want to check if it falls within the next week. The firstDayOfWeek parameter is an optional parameter that specifies the first day of the week. If this parameter is not specified, the function uses the default first day of the week (Sunday).

The M Code Behind the Date.IsInNextWeek Function

The M code behind the Date.IsInNextWeek function is quite simple. Here is the M code for this function:


(dateTime as any, optional firstDayOfWeek as nullable number) as logical =>

let

nextWeekStart = Date.StartOfWeek(DateTime.LocalNow(),

if firstDayOfWeek <> null then firstDayOfWeek else Day.Sunday),

nextWeekEnd = Date.AddDays(nextWeekStart, 6),

dateToCheck = Date.From(dateTime)

in

dateToCheck >= nextWeekStart and dateToCheck <= nextWeekEnd


The code above defines an anonymous function that takes two parameters: dateTime and firstDayOfWeek. The function first determines the start and end date of the next week using the Date.StartOfWeek and Date.AddDays functions. It then checks if the dateTime parameter falls within the next week by comparing it with the start and end dates of the next week.

Understanding the M Code

Let us take a closer look at the M code behind the Date.IsInNextWeek function. The first line of the code defines the function and its parameters:


(dateTime as any, optional firstDayOfWeek as nullable number) as logical =>


The next line of code defines a variable called nextWeekStart that uses the Date.StartOfWeek function to determine the start of the next week:


nextWeekStart = Date.StartOfWeek(DateTime.LocalNow(),

if firstDayOfWeek <> null then firstDayOfWeek else Day.Sunday),


The Date.StartOfWeek function takes two parameters: the date to start from (in this case, DateTime.LocalNow()) and the first day of the week (specified by the firstDayOfWeek parameter or defaulting to Sunday).

The next line of code defines a variable called nextWeekEnd that uses the Date.AddDays function to determine the end of the next week:


nextWeekEnd = Date.AddDays(nextWeekStart, 6),


The Date.AddDays function takes two parameters: the date to start from (in this case, nextWeekStart) and the number of days to add (in this case, 6 to get the end of the week).

The next line of code defines a variable called dateToCheck that converts the dateTime parameter to a date using the Date.From function:


dateToCheck = Date.From(dateTime)


The last line of code then checks if the dateToCheck variable falls within the next week by comparing it with the nextWeekStart and nextWeekEnd variables using the logical operators >= and <=:


dateToCheck >= nextWeekStart and dateToCheck <= nextWeekEnd


The Date.IsInNextWeek function is a useful function in Power Query that allows you to check if a given date falls within the next week. The M code behind this function is relatively simple and uses built-in functions like Date.StartOfWeek and Date.AddDays to determine the start and end dates of the next week. Understanding the M code behind the Date.IsInNextWeek function can help you create your own custom functions in Power Query and perform more complex data transformations and calculations.

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)