cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
rlee1982
Helper III
Helper III

Loop-like feature in Power BI?

Dear all

 

I am trying to return different value in a new column if I find a specific value in several rows.

 

For example, I am trying to return the earliest view date when I found "Contact Customer Service" for each case and return, and if there is no any "Contact Customer Service" for a case, return the last view date.

 

Is it possible to have this loop funtion in Power BI? 

 

CaseTime_StampActionFirst or Last View
X0012/1/2021View2/1/2021
X0012/3/2021View2/1/2021
X0012/18/2021Place into Cart2/1/2021
X0012/19/2021Contact Customer Service2/1/2021
X0012/22/2021Cancel2/1/2021
X0021/3/2021View1/3/2021
X0021/19/2021Place into Cart1/3/2021
X0022/3/2021Purchase1/3/2021
X0022/7/2021Paid1/3/2021
X0033/2/2021View3/6/2021
X0033/4/2021View3/6/2021
X0033/5/2021Place into Cart3/6/2021
X0033/6/2021View3/6/2021
X0033/11/2021Paid3/6/2021

 

Thank you in advance!

1 ACCEPTED SOLUTION

View Date CC = 
VAR __v =
    FILTER(
        'CASE',
        'CASE'[Case] = EARLIER( 'CASE'[Case] ) && 'CASE'[Action] = "View"
    )
RETURN
    IF(
        ISEMPTY(
            FILTER(
                'CASE',
                'CASE'[Case] = EARLIER( 'CASE'[Case] ) && 'CASE'[Action] = "Contact Customer Service"
            )
        ),
        MAXX( __v, 'CASE'[Time_Stamp] ),
        MINX( __v, 'CASE'[Time_Stamp] )
    )

Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is beyond their comprehension!

DAX is simple, but NOT EASY!

View solution in original post

4 REPLIES 4
CNENFRNL
Super User
Super User

CNENFRNL_0-1655871958709.png


Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is beyond their comprehension!

DAX is simple, but NOT EASY!

Thanks for your answer! Yet, there is an error "A circulated dependency was detected..." now.  

 

In your file, this error is not found, but the result seems different. 😞

 

column.JPG

 

Could you kindly take another look? Much appreciated!

View Date CC = 
VAR __v =
    FILTER(
        'CASE',
        'CASE'[Case] = EARLIER( 'CASE'[Case] ) && 'CASE'[Action] = "View"
    )
RETURN
    IF(
        ISEMPTY(
            FILTER(
                'CASE',
                'CASE'[Case] = EARLIER( 'CASE'[Case] ) && 'CASE'[Action] = "Contact Customer Service"
            )
        ),
        MAXX( __v, 'CASE'[Time_Stamp] ),
        MINX( __v, 'CASE'[Time_Stamp] )
    )

Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is beyond their comprehension!

DAX is simple, but NOT EASY!

The 

MAXX( __v, 'CASE'[Time_Stamp] ),
        MINX( __v, 'CASE'[Time_Stamp] )

The MINX should come first and MAXX come second, but this DAX and logic work for me. Thanks again! 

Helpful resources

Announcements
November 2022 Update

Check it Out!

Click here to read more about the November 2022 updates!

Difinity Conference

Difinity Conference 2022

Difinity is the largest Microsoft Data, AI, Power BI, Power Platform and Business Applications Conference in New Zealand.

European Share Point Conference

European Share Point Conference

This conference returns live and in-person in Copenhagen this 28 November-01 December with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Microsoft 365 Conference â__ December 6-8, 2022

Microsoft 365 Conference - 06-08 December

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.