Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register 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!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
97 | |
65 | |
45 | |
39 | |
31 |
User | Count |
---|---|
164 | |
111 | |
61 | |
53 | |
38 |