Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I am experiencing a result wherein a simple lookupvalue() for the exact same value sometimes returns blank and sometimes doesnt. I have never seen this before.
Here's the detail: I am adding a simple column via AddColumn that goes to mapping table (Json), looks for the ID number (Json[id]) that matches ('Stripe Raw'[Originating Patch]), and returns the name in the same row of the Json table column [wbs2.1].
OriginatingPatch_ = --Adds column into Stripe Raw table of Patch name (the "WBS")
LOOKUPVALUE(Json[WBS2.1], Json[id], 'Stripe Raw'[Originating Patch])
I tried normalizing the formats with INT and FORMAT without any change in outcome. The following also does not change the outcome:
Try3 =
CALCULATE(
FIRSTNONBLANK(Json[WBS2.1], 1),
FILTER(
Json,
Json[Id] = 'Stripe Raw'[Originating Patch]
)
Note that Debug_OrigPatch = 'Stripe Raw' [Originating Patch] returns the correct column value (622), but anything like the Debug_OrigPatch = selectedvalue('Stripe Raw'[Originating Patch]) returns only blanks.
Any thoughts? I have never had this issue. Given the amount of time I've spent on it, either I am doing something incredibly dumb that I am missing or it's a bug. Thank you Charlie
Solved! Go to Solution.
@charleshale So LOOKUPVALUE will return BLANK if more than one row is returned. I've encountered some issues with it honestly which is why I always use MAXX( FILTER( ... ), ... ) instead.
@charleshale So LOOKUPVALUE will return BLANK if more than one row is returned. I've encountered some issues with it honestly which is why I always use MAXX( FILTER( ... ), ... ) instead.
The greatest @Greg_Deckler. You have solved my problem with your insight and reflected glory! So - fantastic point as usual: yes that maxx is better. Here's what I did, below.
Try7 =
CALCULATE(
maxx(Json, json[WBS2.1]),
FILTER(
Json,
Json[Id] = 'Stripe Raw'[Originating Patch]
)
)
However, the problem remained the same.
This got me thinking of a totally different solution: adding an all() after calculate.
_OrigPatchNameLkup =
CALCULATE(
maxx(json, Json[WBS2.1]),
FILTER(
Json,
Json[Id] = 'Stripe Raw'[Originating Patch]
), all('Stripe Raw')
)
This worked. Somehow there must be a filter context somewhere in my table that was causing the blanks. I still don't see exactly where, but the column and measure now work. How interesting! Thank you for this varsity-level point.
Charlie
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
23 | |
7 | |
6 | |
6 | |
6 |
User | Count |
---|---|
27 | |
12 | |
10 | |
9 | |
6 |