An empty report can mean several things: no data has arrived, a filter excludes all records, the user lacks permission, or the report has not been configured. A generic no results message leaves people guessing which problem they need to solve.
How would you distinguish these states without overwhelming a first-time user? What action should appear in each case, and when is sample data helpful? Suggestions for clear wording are welcome, especially where the screen should avoid implying that a sync is broken when it is simply still running.