PowerBI-如何使用PowerQuery提取最近两个工作日

PowerBI-如何使用PowerQuery提取最近两个工作日,powerbi,powerquery,Powerbi,Powerquery,我需要帮助来尝试使用PowerBI上的PowerQuery提取最后两个工作日,包括今天(如果今天是工作日) 到目前为止,我可以抽出最后2天,但需要帮助排除周末。 这就是我目前所拥有的 let DateList = {Number.From( DateTime.Date( Date.AddDays(DateTimeZone.LocalNow(),-1) ))..Number.From( DateTime.Date( Date.AddDays(DateTimeZone.LocalNow(),

我需要帮助来尝试使用PowerBI上的PowerQuery提取最后两个工作日,包括今天(如果今天是工作日)

到目前为止,我可以抽出最后2天,但需要帮助排除周末。 这就是我目前所拥有的

let
    DateList = {Number.From( DateTime.Date( Date.AddDays(DateTimeZone.LocalNow(),-1) ))..Number.From( DateTime.Date( Date.AddDays(DateTimeZone.LocalNow(),0) ))},
    #"Converted to Table" = Table.FromList(DateList, Splitter.SplitByNothing(), null, null, ExtraValues.Ignore),
    #"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Date"}}),
    #"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}})
in
    #"Changed Type"
试试这个

let
    DateList = {Number.From( DateTime.Date( Date.AddDays(DateTimeZone.LocalNow(),-3) ))..Number.From( DateTime.Date( Date.AddDays(DateTimeZone.LocalNow(),0) ))},
    #"Converted to Table" = Table.FromList(DateList, Splitter.SplitByNothing(), null, null, ExtraValues.Ignore),
    #"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Date"}}),
    #"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}}),
    #"Inserted Day of Week" = Table.AddColumn(#"Changed Type", "Day of Week", each Date.DayOfWeek([Date]), Int64.Type),
    #"Filtered Rows" = Table.SelectRows(#"Inserted Day of Week", each [Day of Week] <> 5),
    #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each [Day of Week] <> 6),
    #"Kept Last Rows" = Table.LastN(#"Filtered Rows1", 2),
    #"Removed Columns" = Table.RemoveColumns(#"Kept Last Rows",{"Day of Week"})
in
    #"Removed Columns"

谢谢我想过这样做。我想找到一个不需要7天时间的方法。这也行!我更新了帖子,但第二种方法只是略有不同。在第一个解决方案中,我还使用了为期四天的appraoch。我不确定问题是什么,为什么不使用7天返回很重要。我还添加了一种不同的方法,仅使用当前日期获取最后两个工作日。
let    
    //d1 = Date.FromText("03.04.2021"),
    d1 = DateTimeZone.LocalNow(),
    d2 = Date.AddDays(d1,-1),
    d3 = Date.AddDays(d1,-2),
    d4= Date.AddDays(d1,-3), 
    dlist= {d1,d2,d3,d4},   
    dTable  = Table.FromList(dlist, Splitter.SplitByNothing(),null, null, ExtraValues.Ignore),
    changeType = Table.TransformColumnTypes(dTable,{{"Column1", type date}}),
    addWeekday = Table.AddColumn(changeType, "Weekday", each Date.DayOfWeek([Column1]), Int64.Type),
    filter = Table.SelectRows(addWeekday, each [Weekday] <> 5 and [Weekday] <> 6),
    keepRows = Table.FirstN(filter,2),
    removeColumns = Table.RemoveColumns(keepRows,{"Weekday"})
in
    removeColumns
let    
    // td = Date.FromText("03.04.2021"),
    td = DateTime.Date(DateTime.LocalNow()),
    d1= if Date.DayOfWeek(td) = 6 then Date.AddDays(td,-2) else if Date.DayOfWeek(td) = 5 then Date.AddDays(td,-1) else td,    
    d2 = if Date.DayOfWeek(d1) = 0 then  Date.AddDays(d1,-3) else Date.AddDays(d1,-1),
    dList = {d1,d2}
in
    dList