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.
Hi,
I want to create a function in power bi to creates a new colum and adds a certain amount of time depending on a key word that is a period of time in a different column.
example:
row 1 includes a date in column A and word in column B ( a word like ATO is 6 months) so when row 1 column B is ATO it adds 6 months onto row 1 column A and the new date is placed in new row 1 column C.
basically the amount of time added onto the row in column A is dependent on word in the corresponding row of column B
Solved! Go to Solution.
Hi @Npg3 ,
You can try M Code as below.
Date.AddMonths(
[Column A],
if [Column B] = "AOT" then 6
else if [Column B] = "XYZ" then 3
else if [Column B] = "ABC" then 1
else null)
Result is as below.
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Npg3
It depends. If not too many text variants and if only number of months to be added then you may try
Column C =
EDATE (
'Table'[Column A],
SWITCH ( 'Table'[Column B], "AOT", 6, "XYZ", 3, "ABC", 1 )
)
It shows expression.error: the name 'EDATE' wasn't recognized. Make sure it's spelled right
How can I create this function in a custom column in power BI?
Hi @Npg3 ,
You can try M Code as below.
Date.AddMonths(
[Column A],
if [Column B] = "AOT" then 6
else if [Column B] = "XYZ" then 3
else if [Column B] = "ABC" then 1
else null)
Result is as below.
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
This works but the problem is if I want column B to have AOT and ABC in one row it does not work. The way the data is pulled in is in some rows of columb B they have multiple (codes). How do I have power bi choose the code with the lowest timeframe. I tried using LOOKUPVALUE but it will not recognize LOOKUPVALUE people have been using power querey for that function which I do not have. Any advice?
User | Count |
---|---|
25 | |
12 | |
8 | |
6 | |
6 |
User | Count |
---|---|
26 | |
12 | |
11 | |
10 | |
6 |