Users need not only to be able to access to the data, but to run jobs as well.
Grant the users BigQuery Job User at the project level and then grant them BigQuery Data Viewer on the particular dataset which you want them to be able to see.
As an illustration, suppose [email protected] has BigQuery Job User in project-1 and BigQuery Data Viewer on project-1.dataset-a but not project-1.dataset-b. Suppose that you have a dashboard with one visualization from each dataset. [email protected] will see only the visualization from project-1.dataset-a.