Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
romovaro
Post Partisan
Post Partisan

Conditional Columns involving date and different column

Hello.

I am trying to calculate a conditional column which returns a category.

I Have a column with dates called "Ops Forecast & Actuals) and different columns called:

 

"Backlog Entity Status"

"Project Health"

 

The rule I want to apply are:

 

When "Ops-Forecast & Actuals column" is 01/12/3000 and "Project Health column" is Red (text) then No Start

When "Ops-Forecast & Actuals column" is 01/12/3000 and "Backlog Entity Status column" is CL-New Client then Pre-implementation

When "Ops-Forecast & Actuals" is 01/12/3000 then On Hold

The rest we use the date on Ops Forecast & Actuals to group them by Fiscal Year (FY22, FY23 and >FY23)

 

ANy help is apprecited

 

Thanks

 

1 ACCEPTED SOLUTION
v-yangliu-msft
Community Support
Community Support

Hi  @romovaro ,

Here are the steps you can follow:

1. Create calculated column.

Backlog Analysis =
IF('Table'[Ops Forecast & Actuals]=DATE(3000,1,12),
SWITCH(
    TRUE(),
    'Table'[Project Health]="Red","No Start",
    'Table'[Backlog Entity Status]="CL - New Client","Pre-implementation",
    "On Hold"
    ),
    SWITCH(
        TRUE(),
        YEAR('Table'[Ops Forecast & Actuals])=2022,"FY22",
        YEAR('Table'[Ops Forecast & Actuals])=2023,"FY23",
        YEAR('Table'[Ops Forecast & Actuals])>2023,">FY23"
    ))

2. Result:

vyangliumsft_0-1636701919981.png

 

Best Regards,

Liu Yang

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

View solution in original post

6 REPLIES 6
v-yangliu-msft
Community Support
Community Support

Hi  @romovaro ,

Here are the steps you can follow:

1. Create calculated column.

Backlog Analysis =
IF('Table'[Ops Forecast & Actuals]=DATE(3000,1,12),
SWITCH(
    TRUE(),
    'Table'[Project Health]="Red","No Start",
    'Table'[Backlog Entity Status]="CL - New Client","Pre-implementation",
    "On Hold"
    ),
    SWITCH(
        TRUE(),
        YEAR('Table'[Ops Forecast & Actuals])=2022,"FY22",
        YEAR('Table'[Ops Forecast & Actuals])=2023,"FY23",
        YEAR('Table'[Ops Forecast & Actuals])>2023,">FY23"
    ))

2. Result:

vyangliumsft_0-1636701919981.png

 

Best Regards,

Liu Yang

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

Thanks Liu Yang.

 

It worked

PhilipTreacy
Super User
Super User

Hi @romovaro 

 

Just add a Custom Column in PQ and copy/paste the if ......... code

 

When you wrote The rest we use the date on Ops Forecast & Actuals to group them by Fiscal Year (FY22, FY23 and >FY23) I didn't realise you were asking for that to be done.  I thought you were describing what you do.  

 

You haven't provided any sample data and I don't know when your fiscal year runs (Jan-Dec?, Jul-Jun?) 

 

All the dates you've provided are in the year 3000?  Can you please give some examples of real data.

 

Also, I don't know if all rows have a category?  Are some without?

 

Regards

 

Phil



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


Sorry Phil.

 

See below some data. I am trying to replicate the "Backlog Analysis" column. 

Ops Forecast has no blanks. Project Health and Backlog Entity Status have blanks.

Fiscal year starting July to Jun

 

Project HealthBacklog Entity StatusOps Forecast & Actuals Backlog Analysis 
  01/01/2050>FY23
  01/01/2050>FY23
tbdCL - New Client01/05/2022FY22
  01/01/2050>FY23
tbd 01/01/2050>FY23
tbd 01/12/3000on Hold
Green 01/01/2022FY22
tbd 01/01/2050>FY23
n/aCL - New Client01/01/2050>FY23
Green 01/01/2022FY22
  01/01/2050>FY23
tbd 01/12/3000on Hold
  01/01/2050>FY23
Red 01/12/3000No Start
  01/01/2050>FY23
Red 01/12/3000No Start
Red 01/12/3000No Start
  01/01/2050>FY23
  01/01/2050>FY23
tbdCL - New Client01/12/3000Pre-Implementation
  01/01/2050>FY23
  01/01/2050>FY23
Red 01/12/3000No Start
Red 01/01/2050>FY23
Red 01/01/2050>FY23
  01/01/2050>FY23
tbdCL - New Client01/12/3000Pre-Implementation
  01/01/2050>FY23
Red 01/12/3000No Start
Red 01/12/3000No Start
Red 01/12/3000No Start
Red 01/12/3000No Start
tbdCL - New Client01/12/3000Pre-Implementation
tbdCL - New Client01/12/3000Pre-Implementation
tbdCL - New Client01/12/3000Pre-Implementation

 

PhilipTreacy
Super User
Super User

Hi @romovaro 

 

Download example PBIX with the following code

 

In Power Query

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtQ3NNI3NjAwUNJRCkpNAZJKsTrRSkZIwjAxQ1QxZx9dv9RyBeeczNS8ErACY8KalGJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Ops Forecast & Actuals" = _t, #"Project Health" = _t, #"Backlog Entity Status" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Ops Forecast & Actuals", type date}, {"Project Health", type text}, {"Backlog Entity Status", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if [#"Ops Forecast & Actuals"] = #date(3000,12,1) then 

if [Project Health] = "Red" then "No Start"

else if [Backlog Entity Status] = "CL-New Client" then "Pre-Implementation"

else "On Hold"

else "")
in
    #"Added Custom"

 

 

steps.png

 

 

In DAX

Column = IF([Ops Forecast & Actuals] = DATE(3000,12,1), 

        IF(CONTAINSSTRING([Project Health], "Red"), "No Start",
        
        IF(CONTAINSSTRING([Backlog Entity Status], "CL-New Client"), "Pre-Implementation","On-Hold")
        
        ), 
        
        "" )

 

 

Regards

 

Phil

 



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


Hi Philip.

 

Looks awesome but having some issues. I am lost at the beg of your code.

The name of my table is called Start Forecast File. I already have Ops as "date", Project health as "text...+Do I need to include your whole code?

Table.TransformColumnTypes(Source,{{"Ops Forecast & Actuals", type date}, {"Project Health", type text}, {"Backlog Entity Status", type text}}

  

OR can just add Custom Column and paste some "if" formula? 

if [#"Ops Forecast & Actuals"] = #date(3000,12,1) then 

if [Project Health] = "Red" then "No Start"

else if [Backlog Entity Status] = "CL-New Client" then "Pre-Implementation"

else "On Hold"

else "")

 

My last part of the question was to use the rest of the rows--- using the date on Ops Forecast & Actuals to group them by Fiscal Year (FY22, FY23 and >FY23)

 

Thanks

 

 

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.