If your data are grouped by date and time, I think you can add a filter to your report in Power BI. So that you can filter the data to make it show the latest records. You can also take a look at this article which provide the solution on stream analytics side. Hope it helps.
the data is not groupped by datatime, it's groupped by a custom key (RecordKey in the example below).
Example input data into stream analytics
Time RecordKey RecordValue
T r1 10
T r2 11
T+1 r1 12
T+2 r1 13
T+3 r2 14
T+4 r1 15
Lets assume this is how data arrives to stream analytics. For rows with same time, the records arrive together in an array.
The requirement is at any time to show latest 'RecordValue' for each 'RecordKey' in PowerBI, in real time
Expected values displayed in PowerBI
T r1: 10, r2: 11
T+1 r1: 12, r2: 11
T+2 r1:13, r2: 11
T+3 r1: 13, r2: 14
T+4 r1: 15, r2: 14
Can time window in stream analytics solve this problem, and keep data coming real time?
E.g. configuring a 'day' time window in stream analytics - is this going to calculte the aggregated view for all records for each update (T, T+1, T+2,...) and send to PowerBI? That would suggest stream analytics holds all the records throughout the time window.
Can we then configure PowerBI to always only display the latest records?
As far as I know, Power BI Service will always get all records form your data source. You cannot control it to only get the latest records. We can find a similar idea here which has already been voted.
So I think you can do something on the ASA side to control the output which sent to Power BI Service. I found this document and maybe you can do it with SQL query in ASA. If you have problems with ASA side, you can ask for help in the ASA forums.