I am trying to read data out of an analysis services cube and process that data through an SSIS data flow. The MDX query is very simple (identifiers obfuscated):
SELECT NON EMPTY { [Measures].[somemeasure] } ON 0,
NON EMPTY { ([H0].[H1].[H2].ALLMEMBERS ) } ON 1
FROM [somecube]
The issue is that the measure "somemeasure" will return data as a formatted percent string, like "12.3%". I want the underlying numeric value, not the formatted string. So, I altered this to:
SELECT NON EMPTY { [Measures].[somemeasure] } ON 0,
NON EMPTY { ([H0].[H1].[H2].ALLMEMBERS ) } ON 1
FROM [somecube]
cell properties value
This now returns the value as a decimal number, however, the problem is not completely solved, because in SSIS this data is still treated as something other than a simple numeric value:
Validation warning. {EBF6EDE6-C061-433D-9C40-5BEB570F4089}: The data type "System.Object" found on column "[Measures].[somemeasure]" is not supported for the ADO NET Source. This column will be converted to DT_NTEXT.
I could do a derived column transform, but that won't eliminate the source warning.
What is the microsoft-intended way to have an SSAS data source in SSIS that does not result in data type warnings?
http://www.sqlservercentral.com/blogs/don_halloran/