Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
I'm sure that this is a basic question but I can't find the solution anywhere online.
I have two datasets:
There are many BoxMovement for one ShippedBox.
I'd like to add a calculated column to ShippedBox that contains the last time that the box was moved to a particular location. In SQL, I'd express it as
SELECT * FROM (
SELECT BoxID, LocationTo, MAX([Movement Datetime]) FROM BoxMovement bm GROUP BY BoxID, LocationTo
) LastArrival
JOIN ShippedBox sb on sb.BoxID = bm.BoxID
WHERE LocationTo = 'Conveyor 123'
I have achieved the grouping by BoxID and LocationTo by creating a reference to the BoxMovement dataset and then grouping by these two columns (and adding the aggregate columns that I needed), but I'm not sure how to query to find the specific rows that I need now.
My 3rd table, the grouped table, has these columns: BoxID, LocationTo, Count, Last Datetime.
How can I add a calculated column to ShippedBox that grabs the Last Datetime from the grouped table from the row that matches the BoxID and LocationTo?
Or, would it be better to add a calcuated column to ShippedBox that uses DAX to compute the aggregate without using the grouping table? I'm not sure how to do this either 😃
Solved! Go to Solution.
Thanks for your response Greg. MAXX might work also but I got it working with a Calculate and Filter. I don't know why it took so long for the use of these functions to sink in.
= CALCULATE(MAX(BoxMovement[Datetime])
, FILTER(
BoxMovement, BoxMovement[BoxID] = ShippedBox[BoxID] && LEFT(BoxMovement[From Location], 5) = "ABCDE")
)
)
I found that LOOKUPVALUE was also useful to find the other fields from the record matching the datetime that was returned.
Thanks for your response Greg. MAXX might work also but I got it working with a Calculate and Filter. I don't know why it took so long for the use of these functions to sink in.
= CALCULATE(MAX(BoxMovement[Datetime])
, FILTER(
BoxMovement, BoxMovement[BoxID] = ShippedBox[BoxID] && LEFT(BoxMovement[From Location], 5) = "ABCDE")
)
)
I found that LOOKUPVALUE was also useful to find the other fields from the record matching the datetime that was returned.
I think you want to use the MAXX function.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
122 | |
80 | |
47 | |
44 | |
35 |
User | Count |
---|---|
183 | |
84 | |
69 | |
48 | |
45 |