Is it possible to hide a report on a dashboard if the report returns no data?
Unfortunately this isn't possible. There is no mechanism to dynamically hide a report if data isn't being displayed. You would have to remove the report manually from the dashboard if you don't want it to be displayed.
I apologize for any inconvenience this may cause.
Have a great day.