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

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
BBurnett
Frequent Visitor

Conditional Column value based on seperate table

I would like to add a column and set its value based on whether or not a value exists in a different table. 

 

I have a table called Tasks which I want to add a column called WorkItemType. The value of this column will be a text entry that is defined by whether or not the parent of the row in tasks is in a different table.

 

So I have:

Tasks

WorkItemIdParentWorkItemId
123122
124135
129151


Bugs

WorkItemIdTitle
122A
128B

 

User Stories

WorkItemIdTitle
138Support01
135Feature01
151Feature02

 

And would like the result to be:

Tasks 

WorkItemIdParentWorkItemIdWorkItemType
123122Bug
124138Support
129151Other

 

The relationship structure looks like this:

 

BBurnett_0-1616379498232.png

 

In order to break it down into smaller chunks I have tried to get just the bug determination working. I have tried to following

 

= Table.AddColumn(Custom1, "WorkItemType", each if( Table.Contains (Bugs, Bugs[WorkItemId] = [ParentWorkItemId])) then "bug" else "other" )

 

But I get an error stating that:

 

Expression.Error: We cannot convert the value false to type Record.
Details:
Value=FALSE
Type=[Type]

 

I have also tried:

 

= Table.AddColumn(Custom1, "WorkItemType", each if( Table.Contains (Bugs, Bugs[WorkItemId] = Tasks[ParentWorkItemId])) then "bug" else "other" )

 

But that ends up with an error: Expression.Error: A cyclic reference was encountered during evaluation.

 

Any help would be greatly appreciated.

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

Hi @BBurnett ,

You could try the following steps:

Step 1,create a new table base on  User Stories:

User Stories2 = CALCULATETABLE('User Stories',FILTER(all('User Stories'),'User Stories'[Title]="Support01"))

Step 2, use the following measure :

final =
VAR test1 =
    CONTAINS ( 'Bugs', Bugs[WorkItemId], MAX ( Tasks[ParentWorkItemId] ) )
VAR test2 =
    IF ( test1 = TRUE, "Bugs", "Others" )
VAR test3 =
    CONTAINS (
        'User Stories2',
        'User Stories2'[WorkItemId], MAX ( Tasks[ParentWorkItemId] )
    )
VAR test4 =
    IF ( test3 = TRUE, "Support", "Others" )
VAR test5 =
    IF ( TEST2 = "Bugs", "Bugs", IF ( test4 = "Support", "Support", "Others" ) )
RETURN
    test5

Step3 ,new column base on the measure:

final1 = [final]

v-luwang-msft_0-1616570583159.png

 

Wish it is helpful for you!

 

 Best Regards 

Lucien

View solution in original post

3 REPLIES 3
v-luwang-msft
Community Support
Community Support

Hi @BBurnett ,

You could try the following steps:

Step 1,create a new table base on  User Stories:

User Stories2 = CALCULATETABLE('User Stories',FILTER(all('User Stories'),'User Stories'[Title]="Support01"))

Step 2, use the following measure :

final =
VAR test1 =
    CONTAINS ( 'Bugs', Bugs[WorkItemId], MAX ( Tasks[ParentWorkItemId] ) )
VAR test2 =
    IF ( test1 = TRUE, "Bugs", "Others" )
VAR test3 =
    CONTAINS (
        'User Stories2',
        'User Stories2'[WorkItemId], MAX ( Tasks[ParentWorkItemId] )
    )
VAR test4 =
    IF ( test3 = TRUE, "Support", "Others" )
VAR test5 =
    IF ( TEST2 = "Bugs", "Bugs", IF ( test4 = "Support", "Support", "Others" ) )
RETURN
    test5

Step3 ,new column base on the measure:

final1 = [final]

v-luwang-msft_0-1616570583159.png

 

Wish it is helpful for you!

 

 Best Regards 

Lucien

BBurnett
Frequent Visitor

Yes they are both the same data type. All integers. 

amitchandak
Super User
Super User

@BBurnett , Are these of same datatype

Bugs[WorkItemId] = [ParentWorkItemId] ?

 

Also check this

https://eriksvensen.wordpress.com/2019/02/28/powerquery-replicate-doing-an-excel-vlookup-in-m/

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.