我想创建一个额外的列到我的数据集。 这需要通过在PowerQuery基于M来完成。 我有weeknumber,dayoftheweek和年使用。
这可以通过使用Excel中的下列公式来完成。 我需要M.类似的东西,但随后
Date = DATE([year],1,-2)-WEEKDAY(DATE([year],1,3))+[week]*7 + [day]-1
例如:第2周,第3天,2019年应该是:2019年9月1日(在#DD-MM-YYYY#)
提前致谢
我想创建一个额外的列到我的数据集。 这需要通过在PowerQuery基于M来完成。 我有weeknumber,dayoftheweek和年使用。
这可以通过使用Excel中的下列公式来完成。 我需要M.类似的东西,但随后
Date = DATE([year],1,-2)-WEEKDAY(DATE([year],1,3))+[week]*7 + [day]-1
例如:第2周,第3天,2019年应该是:2019年9月1日(在#DD-MM-YYYY#)
提前致谢
这将做到这一点
= Table.AddColumn(Source, "Custom", each Date.From(Number.From(Date.AddDays(Date.FromText("1/1/"&Number.ToText([year])),-3))-Date.DayOfWeek(Date.FromText("1/3/"&Number.ToText([year])))-1+[week]*7+[day]-1) )
如果你想创建自己的功能,它可能是这样的:
dateFromWeekDayYear = (WeekOfYear as number, DayOfWeek as number, Year as number) as date =>
let
endOfFirstWeekOfYear = Date.EndOfWeek(#date(Year, 1, 1), Day.Monday), // Consumes one week from "WeekOfYear"
addRemainingWeeks = Date.AddWeeks(endOfFirstWeekOfYear, WeekOfYear - 2), // Subtract 2 because consumed one week above and because 0-based
addDays = Date.AddDays(addRemainingWeeks, DayOfWeek) // Don't need to make 0-based as previous step gives us end of prior week.
in
addDays,
它有三个参数:今年周,周和年(基本上你有资料)的日子。
如果你想将其添加到一个表,你可以尝试这样的:
Table.AddColumn(someTable, "newColumnName", each dateFromWeekDayYear([weekColumn], [dayColumn], [yearColumn]))
(前提是你的表someTable
载列weekColumn
, dayColumn
, yearColumn
)。