Forum Discussion

spandy34's avatar
spandy34
Responsive Resident
2 years ago
Solved

Conditional Column date and multiple criteria

Hi

 

I would like to create a Conditional Column called Status in Power Query and wondered if someone could help with the code for the following please as I am unsure of how to do it:

 

 

 

If the Due Date is less than Today and the [Milestone/Description] field is Blank or “Not Started” then input “Red”

Or

If the Due Date is within 4 weeks and the [Milestone/Description] field is Blank or “Not Started” then input “Amber”

Or

If the Due Date is greater than Today and the [Milestone/Description] field is Blank or “Not Started” or “In Progress” or “Complete” then input “Green”

 

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi spandy34 

    I am confused that

    1.the 4 weeks means due date>today and due date < future 4 weeks or due date>pre 4 weeks and due date < today?

    2.Based on the first question, if the 4 weeks means ddue date>pre 4 weeks and due date < today, then should the firse condition be Due Date<pre 4 weeks instead of today?

    Based on my understanding, i create the following conditions:

    a. Due date<pre 4 weeks

    b.due date>=pre 4 weeks and due date < today

    c.dure date>=today

     

    let 
    _today=DateTime.Date(DateTime.LocalNow()),
    _4weeks=Date.AddWeeks(_today,-4),
    _condition=
    if [Due Date]<_4weeks and ([#"Milestone/Description"]="" or [#"Milestone/Description"]="Not Started") then "Red" else if [Due Date]<_today  and [Due Date]>=_4weeks and ([#"Milestone/Description"]="" or [#"Milestone/Description"]="Not Started") then "Amber"  else if  [Due Date] >=_today and ([#"Milestone/Description"]="" or [#"Milestone/Description"]="Not Started" or [#"Milestone/Description"]="In Progress" or [#"Milestone/Description"]="Complete") then "Green" else null
    in _condition

     

    Output

    And you can also refer to the attachment.

     

     

    Best Regards!

    Yolo Zhu

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi spandy34 

    I am confused that

    1.the 4 weeks means due date>today and due date < future 4 weeks or due date>pre 4 weeks and due date < today?

    2.Based on the first question, if the 4 weeks means ddue date>pre 4 weeks and due date < today, then should the firse condition be Due Date<pre 4 weeks instead of today?

    Based on my understanding, i create the following conditions:

    a. Due date<pre 4 weeks

    b.due date>=pre 4 weeks and due date < today

    c.dure date>=today

     

    let 
    _today=DateTime.Date(DateTime.LocalNow()),
    _4weeks=Date.AddWeeks(_today,-4),
    _condition=
    if [Due Date]<_4weeks and ([#"Milestone/Description"]="" or [#"Milestone/Description"]="Not Started") then "Red" else if [Due Date]<_today  and [Due Date]>=_4weeks and ([#"Milestone/Description"]="" or [#"Milestone/Description"]="Not Started") then "Amber"  else if  [Due Date] >=_today and ([#"Milestone/Description"]="" or [#"Milestone/Description"]="Not Started" or [#"Milestone/Description"]="In Progress" or [#"Milestone/Description"]="Complete") then "Green" else null
    in _condition

     

    Output

    And you can also refer to the attachment.

     

     

    Best Regards!

    Yolo Zhu

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

    • spandy34's avatar
      spandy34
      Responsive Resident

      Hi

       

      Thank you - the principal worked and I have now got the column created with this solution  Thank you for your help