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!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
Hi,
I am trying to figure out how to get the right value (i.e. Color) from a weight / volume table in a products table with power query M. The returned value (color) needs to meet both criteria, the right value from a weight range and the right value from a volume range.
Table: Numbers
Table: Products
I already experimented the following code:
Table.SelectRows(Numbers,(x)=> x[Weight from]<=[Weight] and x[Weight to] >=[Weight])[Color]
I did not find a way to combine this with the second check for the right volume.
This is my goal:
Can any of you experts help me out on that?
Thank you very much in advance.
Many regards,
Simon
NB: I am sorry for posting with photos instead of tables with data. I tried to post with copy and pasted tables first but my posts got rejected twice.
Solved! Go to Solution.
Hi Simon,
Your direction is right, and overall you can implement that by
1. add a column holding the corresponding Numbers records
2. expand that newly added column which holds records and pick the Color column
let
Numbers = Excel.CurrentWorkbook(){[Name="Numbers"]}[Content],
Product = Excel.CurrentWorkbook(){[Name="Product"]}[Content],
#"Add ColorTable Col" = Table.AddColumn(Product, "ColorTable",
(ProdRow as record) =>
Table.SelectRows(
Numbers,
each [Weight from] <= ProdRow[Weight] and ProdRow[Weight] <= [Weight to]
and [Volume from] <= ProdRow[Volume] and ProdRow[Volume] <= [Volume to]
)
),
#"Expand Col" = Table.ExpandTableColumn(#"Add ColorTable Col", "ColorTable", {"Color"})
in
#"Expand Col"
Good morning Claude_Xu,
you made it look so easy. Thank you so much for your help and for your solution -that's awesome!
Many regards,
Simon
What if the weight is 5.5? what if the volume is 0.1355 ?
Good morning Ibendlin,
I assume then the weight or the volume has to be rounded up to the next corresponding color.
Those numbers I used in the example are not made up by me but are actual numbers of shockwatch labels.
Many regards,
Simon
Hi Simon,
Your direction is right, and overall you can implement that by
1. add a column holding the corresponding Numbers records
2. expand that newly added column which holds records and pick the Color column
let
Numbers = Excel.CurrentWorkbook(){[Name="Numbers"]}[Content],
Product = Excel.CurrentWorkbook(){[Name="Product"]}[Content],
#"Add ColorTable Col" = Table.AddColumn(Product, "ColorTable",
(ProdRow as record) =>
Table.SelectRows(
Numbers,
each [Weight from] <= ProdRow[Weight] and ProdRow[Weight] <= [Weight to]
and [Volume from] <= ProdRow[Volume] and ProdRow[Volume] <= [Volume to]
)
),
#"Expand Col" = Table.ExpandTableColumn(#"Add ColorTable Col", "ColorTable", {"Color"})
in
#"Expand Col"
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.