The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Dear Team,I'm new to Power BI, trying to figure out the issue.
I have a column named "Period Week" with data looks like 23.2024 means the 23th week of the year 2024
I wish to convert it a regular date in M code.
I tried chatGPT for help but I'm getting cyclic error each time
maybe you can help ? what would be the right way to do this ?
Solved! Go to Solution.
and try this code in power query
[
parts = Text.Split([Week Year], "."),
weekNum = Number.FromText(parts{0}),
yearNum = Number.FromText(parts{1}),
startOfYear = #date(yearNum, 1, 1),
dayOfWeek = Date.DayOfWeek(startOfYear, Day.Sunday),
daysOffset = if dayOfWeek = 1 then 0 else 7 - dayOfWeek,
firstSunday = Date.AddDays(startOfYear, daysOffset),
weekStartDate = Date.AddDays(firstSunday, (weekNum - 1) * 7)
]
[weekStartDate]
Thank you, for your help and time
and try this code in power query
[
parts = Text.Split([Week Year], "."),
weekNum = Number.FromText(parts{0}),
yearNum = Number.FromText(parts{1}),
startOfYear = #date(yearNum, 1, 1),
dayOfWeek = Date.DayOfWeek(startOfYear, Day.Sunday),
daysOffset = if dayOfWeek = 1 then 0 else 7 - dayOfWeek,
firstSunday = Date.AddDays(startOfYear, daysOffset),
weekStartDate = Date.AddDays(firstSunday, (weekNum - 1) * 7)
]
[weekStartDate]
try code in Dax
startweek date =
VAR _s = SUBSTITUTE([Week Year],".","|")
var _year = PATHITEM(_s,2,INTEGER)
var _week = PATHITEM(_s,1,INTEGER)
VAR _date = DATE(_year,1,-2)-WEEKDAY(DATE(_year,1,3))+_week*7
RETURN
_date
I would add a new query with a list of all of the dates from your first year (let's say 2021) to the most recent year, so = List.Dates(#date(2021, 1, 1), Duration.TotalDays(Date.From(DateTime.LocalNow())-#date(2021, 1, 1)), 1)
Use the GUI option "To Table", name that column "Dates", and then add a column using the function each Date.WeekOfYear([Dates])
If you want to, group by Week, and choose the Max aggregation for [Dates].
Now you can return to your original query, split your [Period Week] column by ".", and make the types "Int64.Type" (whole number).
Now you can merge with your Dates query on Week Number and year.
--Nate
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.