Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi All,
I had a sample file (attached) that contains a Data table, which consist of 17 rows and 2 columns. I would like to add an M code (Not Dax) in power query to add a conditional colmun where:
1- Date column must be in the last 3 months; And
2- Active column = Y; And
3- User Column = N
Please see below screenshot of what to expect in "New Column".
Many thanks
H
Solved! Go to Solution.
@H_insight Try:
if [Date] > Date.AddMonths(Date.From(DateTime.LocalNow()),-3) and [Active column] = "Y" and [User Column] = "N" then 1 else 0
Hi @H_insight ,
Try this:
if [Date] >= Date.AddMonths(Date.From(DateTime.LocalNow()), -3)
and [Active / Not] = "Y"
and [User/Consumer] = "N"
then 1
else 0
This uses three rolling months i.e. today it will give you 2021-08-08 to 2021-11-08.
If you want it to evaluate against the last three complete months i.e. not including current month, then it would be:
if Date.IsInPreviousNMonths([Date], 3)
and [Active / Not] = "Y"
and [User/Consumer] = "N"
then 1
else 0
Pete
Proud to be a Datanaut!
Hi @H_insight ,
Try this:
if [Date] >= Date.AddMonths(Date.From(DateTime.LocalNow()), -3)
and [Active / Not] = "Y"
and [User/Consumer] = "N"
then 1
else 0
This uses three rolling months i.e. today it will give you 2021-08-08 to 2021-11-08.
If you want it to evaluate against the last three complete months i.e. not including current month, then it would be:
if Date.IsInPreviousNMonths([Date], 3)
and [Active / Not] = "Y"
and [User/Consumer] = "N"
then 1
else 0
Pete
Proud to be a Datanaut!
Thank you @BA_Pete for the prompt response. This is exactly what I was looking for.
Glad to hear it.
Just out of interest, did you use the rolling three months or the three complete months?
Pete
Proud to be a Datanaut!
@H_insight Try:
if [Date] > Date.AddMonths(Date.From(DateTime.LocalNow()),-3) and [Active column] = "Y" and [User Column] = "N" then 1 else 0
User | Count |
---|---|
9 | |
8 | |
6 | |
6 | |
6 |