Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

How to exclude Weekend dates (i.e. Saturday and sunday) from a date column in M query.

Hello All, 

Need help in excluding weekend dates from a date column in power query editor.

Thanks in Advance

  • Here's the simple version.

    See below and attached. Basically, add a DayOfWeekName column based on your date and filter from there.

    let
      start = Number.From(#date(2021, 1, 1)),
      end = Number.From(#date(2021, 12, 31)),
      Source = {start .. end},
      #"Converted to Table" = Table.FromList(
        Source,
        Splitter.SplitByNothing(),
        null,
        null,
        ExtraValues.Error
      ),
      #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table", {{"Column1", type date}}),
      #"Renamed Columns" = Table.RenameColumns(#"Changed Type", {{"Column1", "Date"}}),
      #"Inserted Day Name" = Table.AddColumn(
        #"Renamed Columns",
        "Day Name",
        each Date.DayOfWeekName([Date]),
        type text
      ),
      #"Filtered Rows" = Table.SelectRows(
        #"Inserted Day Name",
        each ([Day Name] <> "Saturday" and [Day Name] <> "Sunday")
      )
    in
      #"Filtered Rows"

     

2 Replies

  • KNP's avatar
    KNP
    Icon for Super User rankSuper User

    Here's the simple version.

    See below and attached. Basically, add a DayOfWeekName column based on your date and filter from there.

    let
      start = Number.From(#date(2021, 1, 1)),
      end = Number.From(#date(2021, 12, 31)),
      Source = {start .. end},
      #"Converted to Table" = Table.FromList(
        Source,
        Splitter.SplitByNothing(),
        null,
        null,
        ExtraValues.Error
      ),
      #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table", {{"Column1", type date}}),
      #"Renamed Columns" = Table.RenameColumns(#"Changed Type", {{"Column1", "Date"}}),
      #"Inserted Day Name" = Table.AddColumn(
        #"Renamed Columns",
        "Day Name",
        each Date.DayOfWeekName([Date]),
        type text
      ),
      #"Filtered Rows" = Table.SelectRows(
        #"Inserted Day Name",
        each ([Day Name] <> "Saturday" and [Day Name] <> "Sunday")
      )
    in
      #"Filtered Rows"