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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
turp111
Frequent Visitor

Adding Custom Column and pulling values from other rows

I need to add a new column with conditions but also to pull a value from another row if a certain condition is met.  Below is my table and columns, here are my conditions:

  • If FEE_TYPE = 2 and SF_FIN_SERV_ID <> null then SF_NAME1
  • If FEE_TYPE = 2 and SF_FIN_SERV_ID is null then "NATIONWIDE"
  • If FEE)_TYPE = 1 then SF_NAME1 where SF_FIN_SERV_ID = "TP"

The first two are fairly easy for me, it's the last one that's giving me trouble.  Basically, whenever the FEE_TYPE = 1, that value also needs to be THE PENSION DESIGN GROUP.  I just can't seem to figure out the right syntax for this.  I also added an example of what this should look like.

 

turp111_1-1684785280665.png

turp111_2-1684786010834.png

 

 

1 ACCEPTED SOLUTION

Hi @turp111 

 

Please use this new code:

if [FEE_TYPE] = 2 and [SF_FIN_SERV_ID] <> "" then [SF_NAME1] else if [FEE_TYPE] = 2 and [SF_FIN_SERV_ID] = "" then "NATIONWIDE" else if [FEE_TYPE] = 1 then let vPlan = [PLAN] in List.Max(Table.SelectRows(#"previous step", each [PLAN] = vPlan and [SF_FIN_SERV_ID] = "TP")[SF_NAME1]) else ""

 

Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.

View solution in original post

4 REPLIES 4
turp111
Frequent Visitor

Thank you, this is helpful.  That said, I should have been more clear about the data.  The example I gave here is just a subset.  The SF_NAME1 column has thousands of rows.  There should have been another column named 'PLAN' in my example.  So this subset of data would be for Plan 10.  I've added a new example of what I'm expecting.  So based on your first solution I'm getting the max value in SF_NAME1 for every row that meets that condition when I really need it only for Plan 10, and then a different value for Plan 20, etc.  Sorry for the initial confusion and hopefully this helps.

turp111_0-1684944892600.png

 

This is just what I was looking for.  Thank you!

Hi @turp111 

 

Please use this new code:

if [FEE_TYPE] = 2 and [SF_FIN_SERV_ID] <> "" then [SF_NAME1] else if [FEE_TYPE] = 2 and [SF_FIN_SERV_ID] = "" then "NATIONWIDE" else if [FEE_TYPE] = 1 then let vPlan = [PLAN] in List.Max(Table.SelectRows(#"previous step", each [PLAN] = vPlan and [SF_FIN_SERV_ID] = "TP")[SF_NAME1]) else ""

 

Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.

v-jingzhang
Community Support
Community Support

Hi @turp111 

 

You can add a custom column with below code. Modify "Previous Step Name" accordingly. 

if [FEE_TYPE] = 2 and [SF_FIN_SERV_ID] <> "" then [SF_NAME1] else if [FEE_TYPE] = 2 and [SF_FIN_SERV_ID] = "" then "NATIONWIDE" else if [FEE_TYPE] = 1 then List.Max(Table.SelectRows(#"Previous Step Name", each [SF_FIN_SERV_ID] = "TP")[SF_NAME1]) else ""

vjingzhang_0-1684906719901.png

 

Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.