cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
kk1791 Regular Visitor
Regular Visitor

Nested IF

Can anyone help me with the logic to create the below output: 

IF "Code" = S, then in the  "Wanding CE210" Output also = "S" & in the next line should be a blank
IF "Code" = P, then in the  "Wanding CE210" Output also = "P" & in the next line should be a blank
Thanks in advance.

s&p.PNG
The codes which have been created so far has been pasted below.

Wanding CE210 = 
var a = MAX('CE210'[Index1])
var b = CALCULATE (MAX('CE210'[ITDSC]) ,FILTER ( ALLEXCEPT('CE210',CE210[WKCTR],CE210[DATE]), 'CE210'[Index1] = a  - 1 ) )
var c = CALCULATE (MAX ( 'CE210'[SIZE] ),FILTER ( ALLEXCEPT('CE210',CE210[WKCTR],CE210[DATE]), 'CE210'[Index1] = a  - 1  ) )
var d = CALCULATE (MAX ( 'CE210'[HEIGHT] ),FILTER ( ALLEXCEPT('CE210',CE210[WKCTR],CE210[DATE]), 'CE210'[Index1] = a  - 1  ) )
var e = 
IF(MAX('CE210'[WKCTR]) = BLANK(),BLANK(),
IF(
    MAX('CE210'[LABORCODE]) = "S",
    "S" ,
    IF(
    MAX('CE210'[LABORCODE]) = "P",
    "P",
    IF(
    MAX('CE210'[LABORCODE]) = "C",
    "C",
    IF (SEARCH("598",MAX('CE210'[RTOOL]),,0)=0 && MAX('CE210'[HEIGHT]) <>d, "D",
        IF (
        MAX('CE210'[ITDSC]) = b,
            IF (
            MAX('CE210'[SIZE]) = c,
            "M",
            "A"
        ),
        "B"
    ))))))
return
e
Index1 = RANKX(FILTER('CE210','CE210'[WKCTR] = EARLIER(CE210[WKCTR]) && 'CE210'[DATE] = EARLIER('CE210'[DATE])),'CE210'[Start_Time],,ASC,Dense)
1 REPLY 1
Super User
Super User

Re: Nested IF

Hi @kk1791  - It looks like you're already retrieving certain information from the previous row and loading them into variables, such as:

var b = CALCULATE (MAX('CE210'[ITDSC]) ,FILTER ( ALLEXCEPT('CE210',CE210[WKCTR],CE210[DATE]), 'CE210'[Index1] = a  - 1 ) )

You can load the CODE and Wanding CE210 from the previous row into variables:

var previous_code = CALCULATE (MAX('CE210'[CODE]) ,FILTER ( ALLEXCEPT('CE210',CE210[WKCTR],CE210[DATE]), 'CE210'[Index1] = a  - 1 ) )
var previous_wanding_ce210 = CALCULATE (MAX('CE210'[Wanding CE210]) ,FILTER ( ALLEXCEPT('CE210',CE210[WKCTR],CE210[DATE]), 'CE210'[Index1] = a - 1 ) )

Then, you can use IF like this:

IF(
    OR(
        AND(previous_code = "P", previous_wanding_ce210 = "P"),
        AND(previous_code = "S", previous_wanding_ce210 = "S")
),
BLANK(),
<Other Logic....>
)

Hope this helps,

Nathan

Helpful resources

Announcements
Community Kudopalooza

Win Power BI Swag with Community Kudopalooza!

Each week, complete activities and be qualified in the drawing for cool Power BI Swag.

Summit North America

Power Platform Summit North America

Register by September 5 to save $200

Virtual Launch Event

Microsoft Business Applications Virtual Launch Event

Watch the event on demand for an in-depth look at the new innovations across Dynamics 365 and the Microsoft Power Platform.

MBAS Gallery

Watch Sessions On Demand!

Continue your learning in our online communities.

Users Online
Currently online: 134 members 1,803 guests
Please welcome our newest community members: