SAMCRO2014
Board Regular
- Joined
- Sep 3, 2015
- Messages
- 160
I have been trying to create a function to calculate the number of working days (including holidays). I found instructions on how to create fnNetworkdays but I am getting the following error when I try to use it in a query:
Expression.Error: We cannot convert a value of type Function to type List.
Details:
Value=Function
Type=Type
I have no clue what it means. Here is my M coding for the function:
(StartDate as date, EndDate as date) as number =>
let
Source = List.Dates,
#"Invoked Function Source" =
if StartDate <= EndDate then
Source(StartDate,Duration.Days(EndDate-StartDate)+1, Duration.From(1))
else
Source(EndDate, Duration.Days(StartDate-EndDate)+1, Duration.From(1)),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Inserted Day of Week" = Table.AddColumn(#"Converted to Table", "Day of Week", each Date.DayOfWeek([Column1],Day.Monday), Int64.Type),
#"Filtered Rows" = Table.SelectRows(#"Inserted Day of Week", each ([Day of Week] <> 5 and [Day of Week] <> 6)),
Custom1 = if StartDate <= EndDate then Table.RowCount(#"Filtered Rows") else Table.RowCount(#"Filtered Rows")*(-1)
in
Custom1
Can anyone see where I am going wrong? This is the instructions I followed: https://www.powerquery.training/networkdays/
Expression.Error: We cannot convert a value of type Function to type List.
Details:
Value=Function
Type=Type
I have no clue what it means. Here is my M coding for the function:
(StartDate as date, EndDate as date) as number =>
let
Source = List.Dates,
#"Invoked Function Source" =
if StartDate <= EndDate then
Source(StartDate,Duration.Days(EndDate-StartDate)+1, Duration.From(1))
else
Source(EndDate, Duration.Days(StartDate-EndDate)+1, Duration.From(1)),
#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Inserted Day of Week" = Table.AddColumn(#"Converted to Table", "Day of Week", each Date.DayOfWeek([Column1],Day.Monday), Int64.Type),
#"Filtered Rows" = Table.SelectRows(#"Inserted Day of Week", each ([Day of Week] <> 5 and [Day of Week] <> 6)),
Custom1 = if StartDate <= EndDate then Table.RowCount(#"Filtered Rows") else Table.RowCount(#"Filtered Rows")*(-1)
in
Custom1
Can anyone see where I am going wrong? This is the instructions I followed: https://www.powerquery.training/networkdays/