In your script, you can go through all the worksheets and collect their data sources and skip over any data sources you've already come across. Take a look at lines 11 - 31 in our data sources sample for an idea on how to do this. Once you have an array of unique data sources then you can refresh each one only once.
Thanks for your reply. I ran a test and, indeed, if the datasource is refreshed (through any of the worksheets), then all related worksheets are refreshed. In my case, I had the connected worksheets on the dashboard filtered and filter action had "Leave the filter" selected.