Single location for shared datasets common to multiple report projects
I am trying to find a more efficient way to access shared dataset across projects (create a single location for shared datasets that are common to multiple report projects) I detailed the what I am trying to do & the workaround that I am using; however I am hoping there is a better way to accomplish the same thing. Any and all suggestions will be appreciated. Overview: Create a single location for shared datasets that are common to multiple report projects (e.g. datasets used to create input parameters). Datasets that are unique to a project will be deployed to a subfolder of that project called Datasets; however for the sake of simplicity these types of datasets will not be discussed. Test Project Setyp: There are 2 projects, which are deployed to the root level of the Reporting Services instance (e.g. the Home page in Report Manager). The folder structures for the 2 projects as seen in Report Manager and in the local file system are as follows: Common Data Project - Datasets common to multiple projects (no reports); in this example I will focus on a shared dataset named Divisions Report Manager: …/Common Data/Datasets/Divisions Local File System: C:\…\Common Data\Datasets\Divisons.rsd Sales Reports Project - Reports and shared datasets contained in the Common Data/Datasets folder of the Common Data project Report Manager: …/Sales Reports/<project reports> Local File System: C:\…\Sales Reports\<project reports> Local File System: C:\…\Sales Reports\bin\Common Data\Datasets\Divisons.rsd Notice how the folder structure containing the Divisions.rsd file from the Common Data project is recreated in the bin directory of the Sales Report project (bold text in the last bullet above). This is necessary for development and testing in BIDS, along with modifications to the RDL of any report in the Sales Report project that uses the Divisions shared dataset from the Common Data project (sees the 2<sup>nd</sup> table below). Modify RDL: The last step is to modify the Sales Reports RDL by opening using the View Code option (see table below). There are 2 changes that need to be made so that a report in the Sales Reports project can use a shared dataset from the Common Data project: The value contained in the <SharedDataSetReference> element contains a qualified path to the Divisions dataset The <rd:ReportServerUrl> element has been added directly below he <SharedDataSetReference> element Unmodified RDL Snippet (typical shared dataset) Modified RDL Snippet (referenced shared dataset is external to the project) … <DataSets> <DataSet Name="Divisions"> <SharedDataSet> <SharedDataSetReference>Divisions</SharedDataSetReference> </SharedDataSet> <Fields> <Field Name="division_cd"> <DataField>division_cd</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="division_name"> <DataField>division_name</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> </Fields> </DataSet> … </DataSets> … <DataSets> <DataSet Name="Divisions"> <SharedDataSet> <SharedDataSetReference>/Common Data/Datasets/Divisions</SharedDataSetReference> <rd:ReportServerUrl>http://localhost/ReportServer</rd:ReportServerUrl> </SharedDataSet> <Fields> <Field Name="division_cd"> <DataField>division_cd</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> <Field Name="division_name"> <DataField>division_name</DataField> <rd:TypeName>System.String</rd:TypeName> </Field> </Fields> </DataSet> … </DataSets> Report Project Properties Data Project Properties Sales Reports Project Properties Property Property Value Property Property Value OutputPath bin\ OutputPath bin\ Datasets Common Data/Datasets Datasets Sales Reports/Datasets Data Sources Data Sources Data Sources Data Sources Reports Common Data Reports Sales Reports Report Parts Common Data/Report Parts Report Parts Sales Reports/Report Parts TargetServerURL http://localhost/ReportServer TargetServerURL http://localhost/ReportServer Thanks, Shane
September 6th, 2011 8:55am

Hi Shane, Thank you for your question. I am currently looking into this issue and will give you an update as soon as possible. Thank you for your understanding and support. Regards, Bin Long TechNet Subscriber Supportin forum If you have any feedback on our support, please contact tnmff@microsoft.comPlease remember to mark the replies as answers if they help and unmark them if they provide no help.
Free Windows Admin Tool Kit Click here and download it now
September 9th, 2011 11:02pm

Hi Bin Long, Thank for looking into this for me. I considered managing shared data sets using the technique you suggested (I use this method for shared data sources, but I only have a small number of data source to manage) , but there were a couple of draw backs to using this method. The reports I work on are organized into multiple projects (w/ new projects added all of the time); this is done to make reports easier to find (especially for the users), as each project is a logical grouping of reports that deal with the same subject area If I set the OverwriteDatasets property to true & the Datasets property for all of the project to the same target on the Report Server, the organization provided by separate report projects is no longer there (at least for the shared data sets), which can make it difficult for the user to locate shared data set for use in Report Builder. Although this method prevent duplication of data sets shared among project, you end up with all of the data sets from all of the project in a single location on the Report Server (i.e. Report Manager & Report Builder), which is an organization mess. The other option is to copy the data sets that are used by multiple projects to each project (not such a big deal), but if I need to make a change to a data set or multiple data sets (not uncommon), then I have to make the change(s) and copy the modified data set to all of the project for testing & any future development. In this case the same data sets have to be maintained in multiple places. When I noticed that reports authored in Report Builder could use shared data set regardless of where they are located on the Report Server, I realized that it is possible to a) keep shared data sets common to multiple projects in a single location (removing the need to maintain multiple instances of the same data sets) and b) organize data sets that are unique to a give project using the standard project-folder structure. The problem is doing this in BIDS w/o manually modifying the RDL & re-constructing folder structures in the bin directory of each project...and that is the motivation behind my post. If I have misunderstood your solution please let me know, or if you have any other suggestions I'd appreciate it. Thanks again, Shane
September 10th, 2011 12:04am

Hi st_reed, If we need to use a shared dataset for multiple Report Projects, we can directly add the existing shared dataset to each report project. After that, we can set the “OverwriteDatasets” property to “True” in the Report Project properties window. When deploy the Report Projects to Report Server, there is only one shared dataset for many Reports. For more information about Managing Shared Dataset, please see: http://msdn.microsoft.com/en-us/library/ee636147.aspx Regards, Bin Long Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Free Windows Admin Tool Kit Click here and download it now
September 10th, 2011 2:26am

Hi Shane, You are absolutely right. If I have any other suggestions, I will let you know as soon as possible. Regards, Bin Long Please remember to mark the replies as answers if they help and unmark them if they provide no help.
September 12th, 2011 9:10pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics