Monday, January 21, 2013 10:49 PM
I've been tasked to develop a Data warehouse with an ETL process that initially extracts lists from SharePoint into staging tables.
The issue is that custom fields can be created within SharePoint lists. These custom fields have to be added to the Data Warehouse. I'm at a loss how I would add these custom fields to the DW.
Please can anyone help. Is there a way to automate this by adding the process to the ETL and create the custom fields within the physical DW schema?
Any pointers would be great. For now I'll keep looking.
Tuesday, January 22, 2013 12:50 AM
I don't understand what you're trying to make dynamic or automate.
This is not something you would normally automate. A SharePoint list is just like a table in an external system. You would create a staging table and ETL process for each one.
Tuesday, January 22, 2013 1:57 PM
I should have clarified. The custom fields will be created by users on the fly; on any given day there will be new fields and I want to add these custom fields to the data warehouse without any development work. This is what I mean by dynamic and automate.
There will be an ID field within SharePoint 2010 in the list that will be used as a reference. However, the new field should be created as a column within the DW using whatever techniques are out there.
There is a Staging area that already extracts lists, then the data will be cleaned and added to the Dimensional database. I have to ensure new fields are added as well without manually adding columns to the DW.
Can this be done? if so, is there any advice on where to start.
Tuesday, January 22, 2013 4:26 PM
Would you like to automate the process of creating columns in the DW, or would you like to store the user-defined fields in some other data structure, like an XML document or Attribtue/Value pairs?
Do users expect the fields to be visible on reports?
Wednesday, January 23, 2013 10:18 AM
Ideally I'd like the columns to be created in the DW and yes, they would be visible on reports. In my opinion the latter could be tricky as I'd probably have to manually alter SSRS reports and the Cube(s). I guess the main starting point is adding the custom fields as columns to the DW
Wednesday, January 23, 2013 12:43 PM
Then you'll be writing some code. Every SharePoint list has an OData interface, as well as the older "Lists Web Service". Both return XML that you can examine at runtime to make the schema modifications to your target table. Don't use the WCF Data Services client, as generates design-time proxy types for the list. Instead you'll need to work with the XML returned from the list directly.
- Marked As Answer by Eileen ZhaoMicrosoft Contingent Staff, Moderator Thursday, January 31, 2013 2:37 AM