Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I need to check the duration to determine if it is days/weeks/months/years and then do a different forumla to get the start date. I can do this in excel but I don't know what reserve words work in power bi. If you know of a better way to do this with some reserved function or formula or measure in power bi please share with me. I will be so grateful. thanks. Michelle
Here is the actual completed formula but I first have to split the duration into two columns separating out the number. Also I made functions for each type.
=IF(VLOOKUP(E3,USEFRM,2,TRUE)="CALCDAY",CALCDAY(C3,D3),IF(VLOOKUP(E3,USEFRM,2,TRUE)="CALCWEEK",CALCWEEK(C3,D3),IF(VLOOKUP(E3,USEFRM,2,TRUE)="CALCMONTH",CALCMONTH(C3,D3),CALCYEAR(C3,D3))))
Solved! Go to Solution.
Thank you for replying... I figure out a way first using the DAX side then I went back to the power query editor and created a function to add the new column with the desired results. Going back and forth between syntax is keeping me on my toes.
Below is the function I created that is working.
let StartUpgradeDate = (DurTime,DurCnt,UpgradeRpDate) => if DurTime="day" or DurTime="days" then
Date.AddDays(UpgradeRpDate, (DurCnt*-1))
else if DurTime="week" or DurTime="weeks" then
Date.AddWeeks(UpgradeRpDate, (DurCnt*-1))
else if DurTime="month" or DurTime="months" then
Date.AddMonths(UpgradeRpDate, (DurCnt*-1))
else if DurTime="year" or DurTime="years" then
Date.AddYears(UpgradeRpDate, (DurCnt*-1))
else ""
in StartUpgradeDate
In DAX, LOOKUPVALUE() is similar to VLOOPUP(), in addtion, I haven't found any reference about CALCWEEK(), CALCMONTH() and CALCYEAR(), however, you may refer to the time intelligence functions here.
Community Support Team _ Jimmy Tao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Thank you for replying... I figure out a way first using the DAX side then I went back to the power query editor and created a function to add the new column with the desired results. Going back and forth between syntax is keeping me on my toes.
Below is the function I created that is working.
let StartUpgradeDate = (DurTime,DurCnt,UpgradeRpDate) => if DurTime="day" or DurTime="days" then
Date.AddDays(UpgradeRpDate, (DurCnt*-1))
else if DurTime="week" or DurTime="weeks" then
Date.AddWeeks(UpgradeRpDate, (DurCnt*-1))
else if DurTime="month" or DurTime="months" then
Date.AddMonths(UpgradeRpDate, (DurCnt*-1))
else if DurTime="year" or DurTime="years" then
Date.AddYears(UpgradeRpDate, (DurCnt*-1))
else ""
in StartUpgradeDate
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
74 | |
71 | |
38 | |
29 | |
26 |
User | Count |
---|---|
97 | |
96 | |
60 | |
44 | |
41 |