A dataset contains a query and collection of fields to represent the data returned from the data source.
You can create a data set using an embedded or shared data source. It stores query used to process the report data. The embedded data set is specific to a report and you can add query parameters, filters, table relationships, and have the query string as expression.
Like shared data source, you can add a dataset that is published on a Report Server. It provides an easy way to change query at one place and reflect it in referred reports.