Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
chalmers
New Member

Select first row metting condition

Hi, I have a table (PRODUCT) with product data and a creation datetime. I have a second table (PERIOD) with year, sale period, and start / end date of those period.

 

I try to create a column in PRODUCT containing the row of PERIOD when my creation datetime is between start date and end date. Right now, I have this formula ("period" is a step before where I ref the second table):

Table.AddColumn(#"Step before", "PERIOD", each Table.SelectRows(period, (v_period) => ([DATETIMECREATION] >= v_period[STARTDATE] and [DATETIMECREATION] <= v_period[ENDDATE])))

 

I have the good result, but since I have ~400 row in PERIOD and maybe 4 000 000 rows in product, is there a better way ? I've try a conditional join but without sucess. And Table.First don't take condition. I use SelectRows but only get one result each time.

1 REPLY 1
lbendlin
Super User
Super User

Flip the loops around (each and (v_period).  Also try it with the tables flipped around. Then try it with Table.AddKey for your join condition columns.

 

If you can, provide meaningful sample data.   That  will allow us to suggest the most performant approach.

Helpful resources

Announcements
September Power BI Update Carousel

Power BI Monthly Update - September 2025

Check out the September 2025 Power BI update to learn about new features.