Okay, I suggest you try this way (I tried it with our PowerPivot databases, which is pretty similar to SSAS Tabular_:
- Run SSMS and connect to SSAS Tabular instance
- Right-click the database you want to dump into SQL Table and select
Script -> Create to -> New Query Window
. Be patient and wait until SSMS generates XMLA script for you
- Find SQL queries that were used to fill SSAS tabular tables by searching XMLA script (keyword = QueryDefinition)
This is what I got for our database:
<Partitions>
<Partition>
<ID>factLinksSeller_484c3291-2123-4391-8627-fd4b584d1726</ID>
<Name>factLinksSeller</Name>
<Annotations>
<Annotation>
<Name>IsQueryEditorUsed</Name>
<Value>True</Value>
</Annotation>
<Annotation>
<Name>QueryEditorSerialization</Name>
</Annotation>
<Annotation>
<Name>TableWidgetSerialization</Name>
</Annotation>
</Annotations>
<Source xsi:type="QueryBinding">
<DataSourceID>15719e99-95fb-44c1-8399-18a769ae1be4</DataSourceID>
<QueryDefinition>select
*
from
dbo.factLinksFull X
where X.signaturePersonID=16
</QueryDefinition>
Now you can use this queries to load data into your SQL Server DB via SSIS
Even if you filled Excel files by external tool, after importing them to SSAS this data should be stored somewhere, so you could check it in XMLA script and make the decision what to do next
There exists a much more simple way to do it, if you have local PowerPivot workbooks and your memory can handle datasets from those:
- Open your PP workbook, run PowerPivot
- Switch to Data View
- Copy whole table from the tab you are on, by pressing icon in the left upper corner of it, then press CTRL+C and wait for the data to be transferred to the memory
- Paste your data in another Excel 2013 file, since they now can handle almost any size of data, or MS Access table. Then import data to SQL Server