2016-06-15 215 views
-1

我在我的工作中使用了大量數據,我想嘗試找到一種方法來限制從SSMS複製到發送到客戶端的Excel工作表的數量。將SQL Server數據導出到Excel

我希望能夠做到的,使用SSIS(如果可能的話)或任何其他可能的方式(也許電力查詢?),是將通過SQL查詢拉取的數據複製到Excel工作簿工作表。

例如,我想按照狀態計算成員數量,我將查詢運行並將結果複製到Excel工作簿中名爲「狀態」的工作表中。

示例代碼:

SELECT C.State, COUNT(*) as Count 
FROM [dbo].Input I 
Join Cassresults C on C.ID = I.ID 
group by C.State 
order by Count desc 

Excel工作簿永遠不會爲客戶端改變。唯一可能改變的是查詢,但這些更新很容易。

有沒有一種方法可以做到這一點,或者我是這麼想的嗎?我希望我解釋得很好。

+2

Power Query絕對可以做到這一點,但簡單地使用Excel本身的數據選項呢? –

+0

如果這些請求是按需提供的,則可以使用VBA宏連接到服務器並運行查詢和/或存儲過程。 –

+0

如果你不確定@JohnBus​​tos是什麼意思,一定要問。可以爲你節省很多很多時間。 –

回答

3

SSAS,SSIS,PowerQuery,PowerBI,Excel PowerPivot,SSRS和Excel Data Querys都適用於此類用途。我絕對不會推薦VBA,因爲你的用戶會不斷得到安全警告,而且它比需要的更復雜。

對於Excel可能是一個很好的起始位置去數據選項卡,然後單擊「從其他來源」,並檢查出不同的源類型。 Micrsoft Query提供了從SSMS編寫查詢或複製的功能。

唯一的問題是數據源會改變嗎?如果是這樣,您創建和分發的每個工作簿都將變得過時並需要更改。 SSRS是允許用戶抓取他們需要的報告(並導出到Excel)的一個很好的選擇。

當做SSAS時,它也很棒,但是從Excel中的PowerPivot開始,再次移動數據連接Sharepoint數據連接庫是一種解決方法。

這就像一個BI和報告設計問題,你會得到很多答案。