Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Not sure how to approach this in PowerBI. If this were a normal imperative programming language, I would just write a for-each loop.
I have an excel sheet of data in a Power BI report.
Quote Number Winner Shop External Shop
145 Y ABC
145 N TES
145 N CAR
647 N CAR
647 Y TES
647 N ABC
785 Y ABC
546 N TES FEF
There's a bunch of quote offers from different shops and sometimes even an external shop. Only one shop can win each quote.
I was thinking that I could create a new column in PowerBI datasource called "Winner Name".
Then what I would like to do is loop thru each quote to assign the winner instead of just displaying Y/N.
For each QuoteNumber,
If Winner = "Y", then for that QuoteNumber, grab Shop "ABC" and set WinnerName = ABC
and
If ExternalShop != blank, then WinnerName = FEF
The end results I want is:
Quote Number Winner Shop External Shop Winner Name
145 Y ABC ABC
145 N TES ABC
145 N CAR ABC
647 N CAR TES
647 Y TES TES
647 N ABC TES
785 Y ABC ABC
546 N TES FEF FEF
I'm trying to make it so if a shop filters for their Shop name, the table on my report displays who they lost to on all of their quotes.
Winner Name would immediately show them if they won or who they lost to.
How do I do something like this in PowerBI?
Solved! Go to Solution.
@test2sa I assume you are trying to add a calculated column to the data model? In that case you can use this:
WinnerName =
VAR Winner =
CALCULATE (
SELECTEDVALUE ( 'Table'[Shop] ),
'Table'[Winner] = "Y",
ALLEXCEPT ( 'Table', 'Table'[Quote Number] )
)
RETURN
IF (
'Table'[External Shop] = "FEF",
"FEF",
Winner
)
@test2sa I assume you are trying to add a calculated column to the data model? In that case you can use this:
WinnerName =
VAR Winner =
CALCULATE (
SELECTEDVALUE ( 'Table'[Shop] ),
'Table'[Winner] = "Y",
ALLEXCEPT ( 'Table', 'Table'[Quote Number] )
)
RETURN
IF (
'Table'[External Shop] = "FEF",
"FEF",
Winner
)
Thank you!! I've almost got it working. I'm having trouble with that IF statement at the very end.
IF (
NOT(ISBLANK('Table'[External Shop])),
'Table'[External Shop],
Winner
)
I've tried writing it a bunch of different ways and it wants to return only Winner or only External Shop. It won't return the correct one for each quote.
@test2sa you can do IF ( 'Table'[External Shop] <> "", 'Table'[External Shop] , Winner )
Thank you!! That worked perfectly!
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
11 | |
9 | |
8 | |
8 | |
7 |
User | Count |
---|---|
14 | |
12 | |
11 | |
10 | |
9 |