A report has been created under a domain "XYZ"
User A is assigned to a TOP Domain and Domain ABC and User B is assigned to a domain XYZ
A scheduled report has been created with the "Run_as" the User : B. But if User A who is positioned in a different domain and tries to Execute the same scheduled report will not get all the fields.
He will be only getting the fields which is visible under the domain where the User A has positioned.
If A runs a report from the normal report engine he is able to see all the desired fields.
Domain Separation is the cause of this issue
You confirm by checking the domain of the email that has been sent out. The sent email domain should be same as that of the domain where the report has created.
Whoever running the "Execute Now" or "Run_as" of a scheduled report should be a part of the same domain. If a user with multiple domain visibility is trying the same, then he should position himself to the same domain where the report has created