Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hello,
I have data which is basically a customer, and a sku/price in a list. Customer A and Customer B typically match each other's prices, but I need to see what other customers are matching their prices individually. So Customer A is at $XX, what other customers (besides Customer B) are at that same price? I want to return not just the count, but the actual names of the customers and the sku/price info. Additionally, I want to say that XX% of Customer A's skus have matching Customers. Below is how the data looks.
| Customer | SkuPrice |
| Customer A | 123 $20 |
| Customer A | 456 $10 |
| Customer A | 789 $15 |
| Customer A | 059 $10 |
| Customer B | 123 $20 |
| Customer B | 456 $15 |
| Customer B | 059 $10 |
| Customer W | 123 $20 |
| Customer W | 789 $15 |
| Customer X | 123 $20 |
| Customer X | 789 $15 |
| Customer Y | 456 $10 |
| Customer Y | 123 $20 |
| Customer Z | 456 $10 |
Here is how I'd like to show the matches... Note that I only need to fine the matches for Customer A and Customer B, it's not neccesary to see how many people are matching the other Customers. Although, if that's easier it could be beneficial too.
| Customer | SkuPrice | Matches |
| Customer A | 123 $20 | 3 |
| Customer A | 456 $10 | 2 |
| Customer A | 789 $15 | 1 |
| Customer A | 059 $10 | 0 |
| Customer B | 123 $20 | 3 |
| Customer B | 456 $15 | 2 |
| Customer B | 059 $10 | 0 |
| Customer W | 123 $20 | null |
| Customer W | 789 $15 | null |
| Customer X | 123 $20 | null |
| Customer X | 789 $15 | null |
| Customer Y | 456 $10 | null |
| Customer Y | 123 $20 | null |
| Customer Z | 456 $10 | null |
And lastly, since there are matches for 3 out of 4 of Customer A's skus and 2 out of 3 of Customer B's skus, I'd like to eventually have the below type of measure.
| Customer | % w/ Match |
| Customer A | 75% |
| Customer B | 66% |
I've tried a lot of different ways to slice the data and pivot/unpivot and such, but cannot find a clean way to do this or find a similar enough question. Much obliged for any direction here.
Thanks!
@bjefko - Give these Measures a try: Note that they are matching the entire sku/price column, so if the price is not a match they're not considered a match. If you want to match only based on SKU and not price, you'll need to split the column into 2.
Other Customers With Sku Price =
var sku_price = MAX(CustomerPrice[SkuPrice])
var cust = MAX(CustomerPrice[Customer])
var other_cust = SWITCH(
TRUE(),
cust = "Customer A","Customer B",
cust = "Customer B","Customer A",
"Customer Non-Exist"
)
return CALCULATE(
COUNTROWS(CustomerPrice),
CustomerPrice[SkuPrice] = sku_price,
not CustomerPrice[Customer] in {cust, other_cust}
) + 0
Percent of SKUs With Match =
var _sum = SUMMARIZE(
CustomerPrice,
CustomerPrice[Customer],
CustomerPrice[SkuPrice],
"FoundCust", ([Other Customers With Sku Price] > 0)
)
return DIVIDE(
CALCULATE(
COUNTROWS(
FILTER(_sum, [FoundCust] = TRUE())
)
),
COUNTROWS(_sum)
)
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 59 | |
| 43 | |
| 42 | |
| 23 | |
| 17 |
| User | Count |
|---|---|
| 190 | |
| 122 | |
| 96 | |
| 66 | |
| 47 |