March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hello,
I'm trying to come up with a formula for the following scenario. Any help would be greatly appreciated.
For a given Primary Key in column D ("R_PK1"), IF the Primary Key is present EXACTLY 2 times in the table, AND if column B equals "BBB" in any of the 2 rows for that Primary Key, then give me "some text" else "some other text".
Below is the sample data. Thank you for your help!
Code: | Category: | Type: | R_PK1: | Output column: |
abc | AAA | Shared | 1111111 | some text |
xyz | BBB | Shared | 1111111 | some text |
cdb | AAA | Shared | 2222222 | some other text |
wsd | BBB | Shared | 2222222 | some other text |
gjk | FFF | Shared | 2222222 | some other text |
Solved! Go to Solution.
Hi,
This calculated column formula works
Column = if(and(CALCULATE(COUNTROWS(Data),FILTER(Data,Data[R_PK1]=EARLIER(Data[R_PK1])))=2,CALCULATE(COUNTROWS(Data),FILTER(Data,Data[R_PK1]=EARLIER(Data[R_PK1])&&Data[Category]="BBB"))>=1),"Some Text","Some other text")
Hope this helps.
Hi @tomekm ,
Here are the steps you can follow:
1. Create calculated column.
Output column =
var _count=COUNTX(FILTER(ALL('Table'),'Table'[R_PK1:]=EARLIER('Table'[R_PK1:])),[R_PK1:])
var _category=SELECTCOLUMNS(FILTER(ALL('Table'),[R_PK1:]=EARLIER('Table'[R_PK1:])),"1",'Table'[Category:])
return
IF(
_count=2&&"BBB" in _category,"Some Text","Some other text")
2. Result:
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
Hi @tomekm ,
Here are the steps you can follow:
1. Create calculated column.
Output column =
var _count=COUNTX(FILTER(ALL('Table'),'Table'[R_PK1:]=EARLIER('Table'[R_PK1:])),[R_PK1:])
var _category=SELECTCOLUMNS(FILTER(ALL('Table'),[R_PK1:]=EARLIER('Table'[R_PK1:])),"1",'Table'[Category:])
return
IF(
_count=2&&"BBB" in _category,"Some Text","Some other text")
2. Result:
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
Hi,
This calculated column formula works
Column = if(and(CALCULATE(COUNTROWS(Data),FILTER(Data,Data[R_PK1]=EARLIER(Data[R_PK1])))=2,CALCULATE(COUNTROWS(Data),FILTER(Data,Data[R_PK1]=EARLIER(Data[R_PK1])&&Data[Category]="BBB"))>=1),"Some Text","Some other text")
Hope this helps.
Thank you!
You are welcome.
Hi @tomekm
Please try this, (change table name and col name as per quirement)
= VAR _count2 = DISTINCTCOUNT('Table'[R_PK1])
RESULT
SWITCH(
TRUE(),
_count2 = 2 && 'Table'[Category] = "BBB", "Some Test",
"Some Other Test")
If not solved, please keep posted (paste from excel, your data is broken when I try to use)
If solve your requirement, please mark this answer as SOLUTION
If this comment helps you, please LIKE this comment/Kudos
Proud to be a Super User! | |
Code: | Category: | Type: | R_PK1: | Output column: |
abc | AAA | Shared | 1111111 | some text |
xyz | BBB | Shared | 1111111 | some text |
cdb | AAA | Shared | 2222222 | some other text |
wsd | CCC | Shared | 2222222 | some other text |
gjk | FFF | Shared | 2222222 | some other text |
Thank you for the quick response. Unfortunately this formula didn't work for me. I'm pasting the data in tabular format here:
Code: | Category: | Type: | R_PK1: | Output column: |
abc | AAA | Shared | 1111111 | some text |
xyz | BBB | Shared | 1111111 | some text |
cdb | AAA | Shared | 2222222 | some other text |
wsd | CCC | Shared | 2222222 | some other text |
gjk | FFF | Shared | 2222222 | some other text |
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
123 | |
85 | |
85 | |
70 | |
51 |
User | Count |
---|---|
205 | |
153 | |
97 | |
79 | |
69 |