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!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
Hey mates,
I have two tables; one is TableExp_M 2 and the other is Table SL 2. I also have a column in TableExp_M 2 where I used this direct query as the table was in direct query mode but its showing an error.
Desc. Service Level =
IF(
'TableExp_M 2'[Shipment No] = "",
BLANK(),
LOOKUPVALUE('Table SL 2'[s], 'Table SL 2'[Row Labels], 'TableExp_M 3'[Service Level_1])
)
The error is like the lookupvalue function can't be used in direct query mode. I also tried to add this column in the datamart itself but it's showing the same issue.
I would need this to be done either in direct query or in power query, please.
Thanks,
Solved! Go to Solution.
Hi @Dev-001
In direct query mode, you would not be able to create a calculated column.
You need to use power query merging and conditional column to handle if logic.
If you prefer to use a measure instead of a calculated column, you can create a measure that performs the lookup:
Desc. Service Level Measure =
IF(
ISBLANK(SELECTEDVALUE('TableExp_M 2'[Shipment No])),
BLANK(),
CALCULATE(
MAX('Table SL 2'[s]),
FILTER(
'Table SL 2',
'Table SL 2'[Row Labels] = SELECTEDVALUE('TableExp_M 2'[Service Level_1])
)
)
)
Hope this helps!!
If this solved your problem, please accept it as a solution and a kudos!!
Best Regards,
Shahariar Hafiz
Need to place Shipment No , Service Level 1 in table rows or in slicer selection. Other wise selectedvalue will return nothing and in result you will get blank values.
Hi @Dev-001
In direct query mode, you would not be able to create a calculated column.
You need to use power query merging and conditional column to handle if logic.
If you prefer to use a measure instead of a calculated column, you can create a measure that performs the lookup:
Desc. Service Level Measure =
IF(
ISBLANK(SELECTEDVALUE('TableExp_M 2'[Shipment No])),
BLANK(),
CALCULATE(
MAX('Table SL 2'[s]),
FILTER(
'Table SL 2',
'Table SL 2'[Row Labels] = SELECTEDVALUE('TableExp_M 2'[Service Level_1])
)
)
)
Hope this helps!!
If this solved your problem, please accept it as a solution and a kudos!!
Best Regards,
Shahariar Hafiz
Need to place Shipment No , Service Level 1 in table rows or in slicer selection. Other wise selectedvalue will return nothing and in result you will get blank values.
hey PQ solution:
custom column:
let
shipment = [Shipment No], sl = [Service Level_1],
check =if shipment = null then null else #"Table SL 2"{[Row Labels = sl]}[s]
in check
whole thing:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCvYwMDBU0lHyyEzPUIrVgQgYAQV8U1MyS3PBQkCeT345XNYErjwWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Shipment No" = _t, #"Service Level_1" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Shipment No", type text}}),
#"Replaced Value" = Table.ReplaceValue(#"Changed Type","",null,Replacer.ReplaceValue,{"Shipment No"}),
#"Added Custom" = Table.AddColumn(#"Replaced Value", "sl", each let
shipment = [Shipment No], sl = [Service Level_1],
check =if shipment = null then null else #"Table SL 2"{[Row Labels = sl]}[s]
in check)
in
#"Added Custom"
calculated column is not allowed in Direct Query.
check more here:
https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-directquery-about
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 64 | |
| 51 | |
| 46 | |
| 23 | |
| 19 |
| User | Count |
|---|---|
| 135 | |
| 110 | |
| 50 | |
| 31 | |
| 29 |