I don't believe this is possible. Once the report has loaded for the user, I believe it runs in cache. It would need some kind of "on click" trigger to be added into PowerBI and AFAIK there is no way to implement something that executes a stored procedure each time a page loads so no way to write out to a log DB.
It is maybe possible to split the pages into individual reports, put a link in the reports to each one. Then you'll get a history showing up in the ReportServer database in SQL server.
There is a way of doing this by creating a measure per page with some specific text -> place the measure in a card on that page -> Make the card "invisible"(white) -> Put the card behind another visualization. The measure will be executed everytime the page loads and you can find the row in the logs by searching for the specific name.
We implemented this in lack of a better solution. Our naming convention for this is Reportname||Pagenamn so for exampel in the report "Sales" on the page "Overview" we created a measure like this: TraceSalesOverview = "Sales||Overview" (the pipes || are used because it will not be used anywhere in our ordinary measures)
When we want to know how many times a specific page has been used we query the logs WHERE TextData LIKE '%Sales||Overview%'
Not the perfect solution but it works, let's hope MS will make this easier in the future.