Forum Discussion
How to reference columns in virtual tables?
- 8 years ago
Hi again anandav
Thanks for the additional info.
From what you've provided, could I suggest a different approach, as doing the fill-down in DAX is possible but a little awkward.
I'm making an assumption that you are really interested in SeatNum and Booked Customer from your screenshot below. If so, I would propose this:
DAX Table = VAR SeatNumbersPlusBookings = GENERATEALL ( SeatNumbers, GENERATE ( SeatBookings, INTERSECT ( GENERATESERIES ( SeatBookings[Seat Start], SeatBookings[Seat End] ), { SeatNumbers[SeatNum] } ) ) ) VAR FinalTable = SELECTCOLUMNS ( SeatNumbersPlusBookings, "SeatNum", SeatNumbers[SeatNum], "Booked Customer", VAR CurrentCustomer = SeatBookings[Customer] RETURN IF ( ISBLANK ( CurrentCustomer ), "Empty", CurrentCustomer ) ) RETURN FinalTableI'm using GENERATEALL to do the join rather than NATURALLEFTOUTERJOIN since your physical SeatBookings table don't have all the required values (since it contains Seat Start and Seat End), and GENERATE to convert the start/end values to a range.
You could of course include additional columns on top of the two output by the above.
Regards,
Owen
Thanks a lot for the detail explanation Owen.
DAX gets confusing at times since some functions like clauclate we have to work from outer function to inner fucntion and others from inner to oueter (as I understand). But your diagram helps a lot!
Is it ok if I use your explanation in the blog I have done with credit to you?
I have added the solution with credit to you but also wanted to include this explanation iof it is ok with you.
Glad it helped.
Oh I see you are also in Auckland, so may well run into you some time 😀